क्या d3 का उपयोग कर ग्राफ में किनारे लेबल होना संभव है? मैंने उदाहरणों और कुछ दस्तावेजों को देखा है, और मैं देख सकता हूं कि नोड लेबलिंग कहां संभव है, लेकिन किनारे लेबलिंग का स्पष्ट रूप से कहीं भी उल्लेख नहीं किया गया है (जो मुझे मिल सकता है)।क्या डी 3 एज लेबलिंग संभव है?
उत्तर
के बाद अन्य लोगों के उदाहरण मैं
- हर बढ़त के साथ एक
path
जोड़ने के लिए, - किनारों को
text
जोड़ने - बाँध कि एक
textpath
जो किनारे के साथ पथ संदर्भित कर रहा है के लिए पाठ
यह उदाहरण वें का उपयोग कर रहा है ई विचारों के ऊपर: http://bl.ocks.org/jhb/5955887
संक्षिप्त उत्तर "हाँ" है, लेकिन इसके लिए कोई स्पष्ट समर्थन नहीं है। आपको खुद लेबल की स्थिति निर्धारित करनी होगी। ऐसा करने का एक तरीका लेबल को प्रारंभ नोड में संलग्न करना होगा और इसे लक्ष्य नोड तक आधे दूरी तक अनुवाद करना होगा, साथ ही कुछ ऑफसेट को लाइन को ओवरलैप करने से रोकने के लिए। अधिक विस्तृत किनारों (जैसे घटता) के लिए यह और अधिक कठिन होगा।
http://bl.ocks.org/2926502 प्रत्येक दृष्टिकोण के प्रत्येक छोर के पास एक लेबल के साथ, इस दृष्टिकोण का एक उदाहरण है। प्रत्येक पद पर लेबल की स्थिति का पुनर्मूल्यांकन किया जाता है। – donaldh
मैंने पथ विकल्प पर पाठ की कोशिश की, लेकिन यह काफी शामिल है और परिणामस्वरूप मैं जो उपस्थिति चाहता हूं उसका नतीजा नहीं हुआ। दुर्भाग्यवश, मैंने इसे स्थानीय गिट भंडार में नहीं देखा। यह मेरे ग्रहण इतिहास से आता है (धन्यवाद ग्रहण डेवलपर्स)। आपको इस कोड स्निपेट को अपनी डेटा संरचना में बदलना होगा, लेकिन मुझे उम्मीद है कि यह कुछ मदद की है। विशेष रूप से, id
मान को lines
चयन में जोड़ने और फिर xlink:href
विशेषता का उपयोग कर प्रतिशत चयन में इसका उपयोग करने पर ध्यान दें। इसके अलावा, मैंने को textpath
में टेक्स्ट को दो पिक्सेल से नीचे ले जाने के लिए जोड़ा है, इसलिए यह इसके बजाए पथ पर दिखाई देता है।
function drawLines(links) {
var diagonal = d3.svg.diagonal();
var format = d3.format(".1%");
var linkKey = function(l) {return l.target.key; };
var lines = linesGroup.selectAll("path").data(links, linkKey);
lines.enter()
.append("path")
.on("mouseover", select)
.on("mouseout", unselect)
.attr("d", diagonal)
.attr("id", function (l) { return "interaction-path-target-" + l.target.key; })
.style("stroke-width", 0.000001);
lines.exit()
.transition().duration(500)
.style("stroke-width", 0.000001)
.remove();
lines.transition()
.delay(function(d, i) { return i * 100; })
.duration(500)
.style("stroke-width", function(d) { return d.weight == 0 ? 0.000001 : d.weight/1000; })
.attr("d", diagonal);
var percentages = linesGroup.selectAll("text").data(links, linkKey);
percentages.enter()
.append("text")
.attr("opacity", 1)
.append("svg:textPath")
.attr("startOffset", "70%")
.attr("xlink:href",
function(l) {
return "#interaction-path-target-" + l.target.key;
})
.append("svg:tspan")
.attr("dy", 3)
.attr("class", "percentageText")
percentages.exit()
.transition().duration(500)
.attr("opacity", 0)
.remove();
percentages
.transition()
.delay(function(d, i) { return i * 100; })
.duration(500)
.attr("opacity", 1);
percentages.select(".percentageText").text(function(d) {
var newvalue = d.weight ?
d.incomming ? percentageIn(d.weight) : percentageOut(d.weight) : 0;
return format(newvalue);
});
}
- 1. डी 3 नोड लेबलिंग
- 2. 3 जी बनाम एज
- 3. ज़ेंड_Mail और = 0 डी = 0 ए = 3 डी = 3 डी = 3 डी = 3 डी = 3 डी
- 4. क्या pyGame 3 डी करता है?
- 5. 3 डी?
- 6. डी 3
- 7. डी 3
- 8. क्या विंडो 3 डी अनुप्रयोगों को विंडो मोड में एनवीडिया 3 डी विजन हार्डवेयर पर चलाने के लिए संभव है?
- 9. डी 3
- 10. डी 3
- 11. 3 डी
- 12. सर्वश्रेष्ठ एक्शनस्क्रिप्ट 3 डी डी इंजन क्या है?
- 13. पूर्णतम डी 3 क्षेत्र उदाहरण क्या है?
- 14. डी 3
- 15. 3 डी
- 16. डी 3
- 17. डी 3
- 18. डी 3
- 19. डी 3
- 20. डी 3
- 21. 3 डी
- 22. डी 3 डी 9 हुक - डायरेक्ट 3 डी 9
- 23. 3 डी
- 24. डी 3
- 25. डी 3
- 26. 3 डी
- 27. डी 3
- 28. 3 डी
- 29. डी 3
- 30. डी 3
मुझे लगता है कि आप लेबलिंग का मतलब है कि पाठ ग्राफ के पथ का पालन करता है। यदि ऐसा है, तो एसवीजी में एक [पाठ पर एक पाठ] (http://www.w3.org/TR/SVG/text.html#TextOnAPath) विशेषता है, लेकिन मैंने कभी कोशिश नहीं की है, इसलिए नहीं यकीन है कि यह कितना आसान है। – meetamit