के रूप में उपयोग किया जाता है, मैं एसवीजी और d3.js. के लिए थोड़ा नया हूं।एसवीजी मार्कर एक डी 3.svg.diagonal वक्र पर उचित रूप से उन्मुख नहीं हैं जो डी 3 फोर्स लेआउट लिंक
डी 3 फोर्स लेआउट के साथ ग्राफ ड्राइंग करते समय, मैं एक साधारण विकर्ण रेखा जनरेटर का उपयोग कर रहा हूं और तीर सिर खींचने के लिए मार्कर-एंड का उपयोग कर रहा हूं।
विकर्ण जनरेटर के बजाय आर्क का उपयोग करते समय तीर के सिर ठीक दिखाई देते हैं। लेकिन कोड में की तरह विकर्ण जनरेटर का उपयोग नीचे उचित मार्कर का उत्पादन नहीं करता है:
var vis = this.vis = d3.select(el).append("svg:svg")
.attr("width", w)
.attr("height", h);
var force = d3.layout.force()
.gravity(0.03)
.distance(120)
.charge(-800)
.size([w, h]);
var linkDiag = d3.svg.diagonal()
.projection(function(d)
{
return [d.x, d.y];
});
vis.append("svg:defs")
.selectAll("marker")
.data(["normal", "special", "resolved"])
.enter()
.append("svg:marker")
.attr("id", String)
.attr("viewBox", "0 -5 10 10")
.attr("refX", 15)
.attr("refY", -1.5)
.attr("markerWidth", 6)
.attr("markerHeight", 6)
.attr("orient", "auto")
.append("svg:path")
.attr("d", "M 0,-5 L 10,0 L0,5");
... और फिर भी:
force.on("tick", function() {
link.attr("x1", function(d) { return d.source.x; })
.attr("y1", function(d) { return d.source.y; })
.attr("x2", function(d) { return d.target.x; })
.attr("y2", function(d) { return d.target.y; })
.attr("d", linkDiag)
.attr("marker-end", function(d) { return "url(#special)"; });
});
मार्करों सभी कोने के साथ कम से न हों।
किसी भी मदद की सराहना की जाएगी!
कोई भी मौका आप इसे हल करने में सक्षम हैं? मेरे मामले में, मुझे एहसास हुआ कि मेरे सर्कल नोड्स बड़े थे और मार्कर को प्रस्तुत किया जा रहा था, लेकिन हमेशा सर्कल के पीछे प्रस्तुत किया गया था। हालांकि, मुझे अभी भी समस्याएं हैं, हालांकि, मार्कर के लिए उचित रेफएक्स, रेफरी इत्यादि का निर्धारण करना यद्यपि:/ – dchang
यदि मैं इसका समाधान करता हूं तो भी उत्सुक हूं। –