क्या डी 3 में कोई रास्ता नहीं है जिससे टिक लेबल ओवरलैप नहीं किया जा सके? उदाहरण के लिए, यदि मेरे पास बार चार्ट है, लेकिन बार केवल 5 पिक्सल चौड़े हैं और लेबल 10 पिक्सेल चौड़े हैं, तो मैं एक गड़बड़ वाली गड़बड़ी के साथ समाप्त होता हूं। मैं वर्तमान में लेबल को आकर्षित करने के लिए कार्यान्वयन पर काम कर रहा हूं जब वे ओवरलैप नहीं करते हैं। मुझे ऐसा करने का कोई मौजूदा तरीका नहीं मिल रहा है, लेकिन यह सुनिश्चित नहीं था कि किसी और ने इस समस्या का सामना किया हो।डी 3 ऑटोस्पेस ओवरलैपिंग टिक लेबल
उत्तर
डी 3 में स्वचालित रूप से ऐसा करने का कोई तरीका नहीं है। आप टीकों या टिक मानों की संख्या को स्पष्ट रूप से सेट कर सकते हैं (the documentation देखें), लेकिन आपको संबंधित संख्या/मान स्वयं को समझना होगा। एक और विकल्प लेबल को घुमाएगा जैसे कि ओवरलैपिंग का कम मौका है।
वैकल्पिक रूप से, जैसा कि दूसरे उत्तर में सुझाया गया है, आप लेबल्स को रखने के लिए बल लेआउट का उपयोग करने का प्रयास कर सकते हैं। स्पष्टीकरण के लिए, आप केवल लेबल पर बल लेआउट का उपयोग करेंगे - यह चार्ट के प्रकार से पूरी तरह से स्वतंत्र है। मैंने इसे this example में किया है, जो कि दूसरे उत्तर में लिंक किए गए से थोड़ा अधिक प्रासंगिक है।
ध्यान दें कि यदि आप बल लेआउट समाधान के साथ जाते हैं, तो आपको लेबल की स्थिति को एनिमेट करने की आवश्यकता नहीं है। जब तक यह अभिसरण नहीं हो जाता तब तक आप बल लेआउट की गणना कर सकते हैं और फिर लेबल को प्लॉट कर सकते हैं।
आप विशेष रूप से कुछ this थ्रेड में उल्लिखित की कोशिश कर सकते, this example ताकि लेबल ऊपर धकेल दिया जाता है/नीचे/जिस तरह से इतना है कि वे सब में फिट किया जा सकता है से बाहर। यह एक अलग बलों, नोड्स के लिए एक का उपयोग की आवश्यकता है और लेबल खुद के लिए एक और।
मुझे एकाधिक (उप-) धुरी के साथ एक ही समस्या है, जहां अंतिम टिक कुछ स्थितियों (स्क्रीन चौड़ाई के आधार पर) में मेरे लंबवत धुरी को ओवरलैप करती है, इसलिए मैंने थोड़ा सा फ़ंक्शन लिखा है जो तुलना करता है अगले अक्ष की स्थिति के साथ पाठ लेबल के अंत की स्थिति। इस कोड को अपने उपयोग के मामले में बहुत विशिष्ट है, लेकिन अपनी आवश्यकताओं के लिए आसानी से अनुकूलित कर सकते हैं:
var $svg = $('#svg');
// get the last tick of each of my sub-axis
$('.tick-axis').find('.tick:last-of-type').each(function() {
// get position of the end of this text field
var endOfTextField = $(this).offset().left + $(this).find('text').width();
// get the next vertical axis
var $nextAxis = $('line[data-axis="' + $(this).closest('.tick-axis').attr('data-axis') + '"]');
// there is no axis on the very right, so just use the svg width
var positionOfAxis = ($nextAxis.length > 0) ? $nextAxis.offset().left : $svg.offset().left + $svg.width();
// hide the ugly ones!
if (endOfTextField > positionOfAxis) {
$(this).attr('class', 'tick hide');
}
});
color: aqua
साथ टिक्स छिपा लोगों रहे हैं:
- 1. डी 3 धुरी लेबल
- 2. डी 3 टिक अंक पूर्णांक पर केवल
- 3. ओवरलैपिंग y- अक्ष टिक लेबल और x- अक्ष matplotlib
- 4. सी 3 ग्राफ ओवरलैपिंग एक्स-अक्ष लेबल
- 5. उच्च लेबल श्रेणी लेबल ओवरलैपिंग
- 6. matplotlib 3 डी प्लॉट
- 7. पायथन matplotlib -> 3 डी बार साजिश -> टिक लेबल स्थिति समायोजित, पारदर्शी सलाखों
- 8. दिखाएँ टिक लेबल जब matplotlib
- 9. Matplotlib: रंग धुरी/टिक लेबल
- 10. हमें बल की आवश्यकता क्यों है। ('टिक' .. डी 3
- 11. Google चार्ट टूल्स - ओवरलैपिंग लेबल
- 12. डी 3.जेएस
- 13. 3 डी
- 14. डी 3
- 15. डी 3: डी 3
- 16. ज़ेंड_Mail और = 0 डी = 0 ए = 3 डी = 3 डी = 3 डी = 3 डी = 3 डी
- 17. डी 3
- 18. अक्ष टिक्स और टिक लेबल के बीच आर आरजीएल दूरी
- 19. डी 3
- 20. डी 3 संस्करण 4
- 21. डी 3 के वी 3 के साथ प्रमुख और मामूली टिक?
- 22. डी 3 बल के नोड्स पर लेबल/पाठ निर्देशित ग्राफ
- 23. डी 3 - पाई चार्ट और फोर्स निर्देशित लेबल
- 24. लेबल के साथ स्कैटर प्लॉट 3 डी और क्षेत्रों
- 25. 3 डी प्लॉटिंग में 3 डी प्लॉटिंग में 3 डी प्लॉटिंग में matplotlib रंग contour
- 26. डी 3 बार चार्ट
- 27. 3 डी (आईफोन)
- 28. डी 3 एसवीजी
- 29. डी 3 डी 9 हुक - डायरेक्ट 3 डी 9
- 30. 3 डी
मैं एक बल लेआउट का उपयोग नहीं कर रहा हूँ। मेरे पास एक बार चार्ट है। –