पर अंतराल देता है मैं कुछ समय श्रृंखला डेटा प्लॉट करना चाहता हूं जो निरंतर नहीं है (सप्ताहांत, छुट्टियों आदि के लिए तिथियों में अंतराल ..)। यह दैनिक डेटा है।डी 3 गैर-निरंतर तिथियां डोमेन एक्स-एक्सिस
डेटा तरह दिखता है:
date,value
1/2/15,109.33
1/5/15,106.25
1/6/15,106.26
1/7/15,107.75
1/8/15,111.89
1/9/15,112.01
1/12/15,109.25
1/13/15,110.22
...
तो मैं परिभाषित मेरी x
और y
scales
:
var x = d3.time.scale().range([0, width]);
var y = d3.scale.linear().range([height, 0]);
और मेरे स्रोत डेटा से डोमेन सेट:
x.domain(d3.extent(data, function(d) { return d.date; }));
y.domain(d3.extent(data, function(d) { return d.value; }));
समस्या हालांकि, यह है कि मेरी तिथियों में अंतराल है उन्हें। और मेरे एक्स-अक्ष में अब उन लापता तिथियां शामिल हैं (d3.time.scale()
क्या यह स्वचालित रूप से मुझे लगता है क्योंकि यह एक निरंतर सीमा के लिए मानचित्र है?)।
.extent()
date
में अधिकतम और न्यूनतम मान पाता है तो .domain()
एक्स-अक्ष के लिए सीमा के रूप में उन अधिकतम और न्यूनतम मान देता है। लेकिन मुझे यकीन नहीं है कि अंतराल को कैसे संभालें और सीमा में गैर अंतर की तारीखों को वापस कैसे करें।
तो मेरा सवाल है: मैं अपने एक्स-अक्ष श्रेणी में केवल मेरे डेटा सेट में मौजूद तिथियां कैसे शामिल कर सकता हूं? और "रिक्त स्थान भरें" नहीं। क्या मुझे d3.time.scale().range()
के साथ खेलना चाहिए? या मुझे एक अलग scale
का उपयोग करने की आवश्यकता है?
ऐसा करने का सही तरीका क्या है? क्या कोई मुझे सही दिशा में इंगित कर सकता है या कुछ उदाहरण दे सकता है? धन्यवाद!
इसके अलावा, मैं केवल सादे डी 3 और जावास्क्रिप्ट के साथ हल करना चाहता हूं। मुझे किसी तीसरे पक्ष के अमूर्त पुस्तकालयों का उपयोग करने में कोई दिलचस्पी नहीं है।
आप एक क्रमसूचक पैमाने इस्तेमाल कर सकते हैं। –