मैं d3 के साथ एक समय रेखा दृश्य जहां डोमेन कई दशकों के लिए कुछ दिनों के से भिन्न हो सकते हैं का निर्माण कर रहा हूँ से टिक प्रारूप मिलता है। मैं एक d3 समय के पैमाने और अक्ष का उपयोग कर रहा इस तरह:d3.js: समय के पैमाने
var timeScale = d3.time.scale()
.domain([firstEvent, lastEvent])
.range([leftPadding, w - rightPadding]);
var timeAxis = d3.svg.axis()
.scale(timeScale)
.orient("bottom");
timeAxis.ticks(5);
के बाद से डोमेन इसलिए चर रहा है, यह ticks(x)
जो स्वचालित रूप से टिक प्रारूप का चयन करेंगे उपयोग करने के लिए सुविधाजनक है। मेरी समस्या यह है कि कुछ मामलों में, वर्ष नहीं दिखाया जाता है, जो महत्वपूर्ण है। मेरा विचार धुरी के निर्माण के बाद टिक प्रारूप की जांच करना था, और यदि इसमें एक वर्ष नहीं है, तो इसे धुरी के बगल में मैन्युअल रूप से दिखाएं। हालांकि, मैं पैमाने का टिक प्रारूप प्राप्त करने में सक्षम नहीं हूं; timeScale.tickFormat()
का उपयोग करके बस एक फ़ंक्शन देता है। इस समस्या का समाधान किस प्रकार से किया जा सकता है?
आप टिक स्थानों प्राप्त करने के लिए() 'किसी भी तर्क के बिना .ticks' कॉल कर सकते हैं। –
@LarsKotthoff हां, लेकिन '.ticks()' अनौपचारिक स्थान लौटाता है, इसलिए कोई यह नहीं बता सकता कि वर्ष उनके लेबल में से किसी भी लेबल में प्रदर्शित किया जाएगा या नहीं। – speedymcs