क्या ग्राफ पर प्रदर्शित d3.svg.axis पूर्णांक लेबल की संख्या को सीमित करने की कोई संभावना है? उदाहरण के लिए इस ग्राफ ले लो। यहां केवल 5 आकार हैं: [0, 1, 2, 3, 4]
। हालांकि, टिक .5, 1.5, 2.5
और 3.5
के लिए भी प्रदर्शित होते हैं।पूर्णांक लेबल में d3.svg.axis को कैसे सीमित करें?
उत्तर
आप के बजाय d3.format
का उपयोग अपने स्वयं के लेखन में सक्षम होना चाहिए इसके लिए प्रारूप समारोह।
d3.svg.axis()
.tickFormat(d3.format("d"));
आप भी अपने पैमाने जो अक्ष स्वचालित रूप से डिफ़ॉल्ट रूप से प्रयोग करेंगे पर tickFormat
उपयोग कर सकते हैं।
मुझे एहसास हुआ है कि यह, इन मूल्यों को छिपाने के लिए पर्याप्त है बल्कि पूरी तरह से बाहर करने के लिए की तुलना में। यह प्रयोग किया जा सकता tickFormat
(https://github.com/mbostock/d3/wiki/Formatting#wiki-d3_format) के रूप में इस तरह के:
d3.svg.axis()
.tickFormat(function(e){
if(Math.floor(e) != e)
{
return;
}
return e;
});
d3.format("d")
का उपयोग टिकफॉर्मैट के रूप में सभी परिदृश्यों में काम नहीं कर सकता है (see this bug)। विंडोज फोन डिवाइस (और शायद अन्य) पर अपर्याप्त गणना उन स्थितियों का कारण बन सकती है जहां पूर्णांक संख्याओं के रूप में टिकों को सही ढंग से नहीं पहचाना जाता है, i। ई। "3" का एक टिक आंतरिक रूप से 2.99 99 99 99 99 997 के रूप में संग्रहीत किया जा सकता है जो d3.format("d")
के लिए एक पूर्णांक संख्या नहीं है।
परिणामस्वरूप धुरी बिल्कुल प्रदर्शित नहीं होती है। यह व्यवहार विशेष रूप से टिक में स्पष्ट हो जाता है।
एक संभावित समाधान एक ईपीएसलॉन मान निर्दिष्ट करके मशीन त्रुटि को सहन करना है। मूल्यों सटीक पूर्णांक इस तरह से होना जरूरी नहीं है, लेकिन एप्सिलॉन रेंज (जो आपके डेटा त्रुटि से जिस तरह से कम होना चाहिए) के लिए अगले पूर्णांक से अलग हो सकता:
var epsilon = Math.pow(10,-7);
var axis = d3.svg.axis().tickFormat(function(d) {
if (((d - Math.floor(d)) > epsilon) && ((Math.ceil(d) -d) > epsilon))
return;
return d;
}
एक अन्य समाधान है, जो भी उल्लेख किया गया है अन्य धागे में, एक निश्चित टिक गिनती निर्दिष्ट करने के लिए और उसके बाद टिक्स (जो अब "लगभग" पूर्णांक होना चाहिए) निकटतम पूर्णांक को निर्दिष्ट करना है। इस काम के लिए आपको अपने डेटा के अधिकतम मूल्य को जानने की आवश्यकता है:
var axis = d3.svg.axis().ticks(dataMax).tickFormat(d3.format(".0f"))
- 1. स्ट्रिंग को पूर्णांक टेम्पलेट में पूर्णांक में कैसे परिवर्तित करें?
- 2. खोजबार को कैसे सीमित करें
- 3. d3.js और nvd3.js अक्ष और लेबल परिशुद्धता स्वरूपण
- 4. डी 3 टिक अंक पूर्णांक पर केवल
- 5. पायथन matplotlib पूर्णांक टिक स्थानों तक सीमित
- 6. d3.js
- 7. सीमित पूर्णांक डेटा प्रकार फ़ील्ड लंबाई
- 8. D3.js
- 9. CursorLoader में क्वेरी को सीमित करें
- 10. d3.js d3.geo.path
- 11. दशमलव संख्या को सीमित कैसे करें?
- 12. D3
- 13. smarty में सीमित वर्ण कैसे प्रदर्शित करें?
- 14. VI/VIM में खोज स्कोप को सीमित कैसे करें?
- 15. जावास्क्रिप्ट में फ़ंक्शन के निष्पादन समय को कैसे सीमित करें?
- 16. .NET अनुप्रयोग में I/O संचालन को सीमित कैसे करें?
- 17. svn changelists: संचालन को "डिफ़ॉल्ट" चेंजलिस्ट में कैसे सीमित करें?
- 18. django: फ़ॉर्मेट में फ़ील्ड विकल्पों को कैसे सीमित करें?
- 19. मेट्रो ऐप्स में अभिविन्यास को सीमित कैसे करें?
- 20. केवल स्थानीयहोस्ट में पृष्ठ पहुंच को सीमित कैसे करें?
- 21. d3
- 22. d3.behavior.zoom के लिए पैन को अक्षम कैसे करें?
- 23. पायथन में स्ट्रिंग को पूर्णांक में कैसे विभाजित करें?
- 24. वीएचडीएल में स्ट्रिंग को पूर्णांक में कैसे परिवर्तित करें?
- 25. d3.js - नए भाई तत्वों को कैसे सम्मिलित करें
- 26. जावास्क्रिप्ट में पूर्णांक में पूर्णांक में सभी तत्वों को कैसे परिवर्तित करें?
- 27. d3.js कैनवास को
- 28. कैसे पूर्णांक uint को
- 29. d3.format
- 30. सीएलआईएसपी में एक सीमित सीमित निष्पादन तंत्र को कैसे कार्यान्वित करें?
उपयोगी। क्या टिक टिक भी छोड़ने का कोई तरीका है? प्रारूप आधा संख्या छुपाता है, लेकिन आधा टिक अंक रखता है। – IBBoard
@IBBoard इस तरह कुछ करने का प्रयास करें: 'axis.ticks (टिककाउंटसेटर (yMax)) जहां yMax कुछ फ़ंक्शन है, इस फ़ंक्शन का उपयोग करके: 'फ़ंक्शन टिककाउंटसेटर (एन) {if (n <= 2) {return n} else {वापसी 10}} ' – s2t2