यहां मेरा demo है (स्थायी लिंक; लोड करने में दूसरा लग सकता है)।d3.js और crossfilter डेटा का उपयोग कर हिस्टोग्राम कैसे बनाएं?
मैं इसके साथ कुछ समस्या आ रही है:
crossfilter कुंजी ऊपरी सीमा को प्रतिबिंबित नहीं करता। इसलिए, एक्स-अक्ष में एक चरण गुम है।
मैं एक समूह-कदम आकार (
group.all()[1] - group.all()[0]
) हो रही है और उसके बादd3.extent(group.all())[1]
में जोड़कर इसे ठीक करने में कामयाब रहे। क्योंकि यह एक गंदे फिक्स है, मैंने इसे डेमो में शामिल नहीं किया है (डेटा अंतर से हो सकता है)। समूह-चरण आकार/एक्स-अक्ष को ठीक करने के लिए कम गंदा तरीका क्या है?बार के बीच असमान अंतर हैं। मैं अलग-अलग डेटा सेट के साथ x.scale असंगतता को ठीक करने का तरीका नहीं समझ सकता।
मैं बार-चौड़ाई उपलब्ध ग्राफ चौड़ाई के अनुसार स्वतः अनुकूल करने के लिए चाहते हैं। इसलिए, मैं इष्टतम बार चौड़ाई की गणना और फिर (यदि आवश्यक) ग्राफ में ही आकार परिवर्तन:
bar_width = math.round(graph_width/data_length); graph_width = bar_width*data_length;
इस शर्त के तहत, कोई रास्ता नहीं
x.scale
किसी भी कुंजी मूल्य के लिए असमान डेटा लौट सकते है, फिर भी यह होता है। कोई जादू नहीं है; मैं बस कुछ दिख रहा हूँ। लेकिन यह क्या हैं?जब
x.scale
तोx.scale
सीमा निर्धारित करने से पहलेgraph_width
सेbar_width
की कटौती गड़बड़ है समस्या का समाधान होता। हालांकि, मैं यह पता लगाने की शर्त नहीं लगा सकता कि x.scale अपेक्षित के रूप में कार्य नहीं कर रहा है।
यह बहुत अच्छा है! क्या यह सब डिफ़ॉल्ट रूप से हाइलाइट करने के लिए है? – by0
लंबे समय तक इसे छुआ नहीं है। यदि आप गिटहब पर कोई समस्या/फीचर अनुरोध जमा करते हैं, तो मैं इसे देख लूंगा। – Gajus