के साथ सबस्टिट्यूटिंग, मैंने निम्नलिखित ग्राफ को d3.svg.diagonal() के साथ प्रदान किए गए किनारों के साथ कार्यान्वित किया है। हालांकि, जब मैं d3.svg.line() के साथ विकर्ण को प्रतिस्थापित करने का प्रयास करता हूं, तो यह लक्ष्य और स्रोत डेटा खींचने के लिए प्रतीत नहीं होता है। मैं क्या खो रहा हूँ? क्या मुझे कुछ ऐसा नहीं है जो मुझे d3.svg.line के बारे में नहीं समझा?डी 3: d3.svg.diagonal() d3.svg.line()
निम्नलिखित कोड मैं की बात कर रहा हूँ, पूरा कोड के बाद है:
var line = d3.svg.line()
.x(function(d) { return d.lx; })
.y(function(d) { return d.ly; });
...
var link= svg.selectAll("path")
.data(links)
.enter().append("path")
.attr("d",d3.svg.diagonal())
.attr("class", ".link")
.attr("stroke", "black")
.attr("stroke-width", "2px")
.attr("shape-rendering", "auto")
.attr("fill", "none");
पूरे कोड:
var margin = {top: 20, right: 20, bottom: 20, left: 20},
width =1500,
height = 1500,
diameter = Math.min(width, height),
radius = diameter/2;
var balloon = d3.layout.balloon()
.size([width, height])
.value(function(d) { return d.size; })
.gap(50)
var line = d3.svg.line()
.x(function(d) { return d.lx; })
.y(function(d) { return d.ly; });
var svg = d3.select("body").append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + (margin.left + radius) + "," + (margin.top + radius) + ")")
root = "flare.json";
root.y0 = height/2;
root.x0 = width/2;
d3.json("flare.json", function(root) {
var nodes = balloon.nodes(root),
links = balloon.links(nodes);
var link= svg.selectAll("path")
.data(links)
.enter().append("path")
.attr("d",d3.svg.diagonal())
.attr("class", ".link")
.attr("stroke", "black")
.attr("stroke-width", "2px")
.attr("shape-rendering", "auto")
.attr("fill", "none");
var node = svg.selectAll("g.node")
.data(nodes)
.enter()
.append("g")
.attr("class", "node");
node.append("circle")
.attr("r", function(d) { return d.r; })
.attr("cx", function(d) { return d.x; })
.attr("cy", function(d) { return d.y; });
node.append("text")
.attr("dx", function(d) { return d.x })
.attr("dy", function(d) { return d.y })
.attr("font-size", "5px")
.attr("fill", "white")
.style("text-anchor", function(d) { return d.children ? "middle" : "middle"; })
.text(function(d) { return d.name; })
});
"लाइन" का उपयोग करते समय svg की डी विशेषता गायब हो जाती है इसकी तुलना।
आप 'line' कहीं भी में ज़रिये जुड़े हुए हैं नहीं है कोड। पथ की 'd' विशेषता अभी भी' d3.svg.diagonal' का उपयोग कर सेट है। –
हां, लेकिन जब मैं "d3.svg.diagonal()" 0 के लिए "रेखा" को प्रतिस्थापित करता हूं तो यह दृश्य को तोड़ देता है। क्यों नहीं पता कर सकते हैं। –
यह कैसे टूटता है? –