मेरे पास एक ग्राफ है, और मैं svg क्षेत्र के शीर्ष पर होवर करते समय एक्स समन्वय पर एक वृत्त दिखाने के लिए ग्राफ का प्रतिनिधित्व करना चाहता हूं। इस सर्कल को वक्र का प्रतिनिधित्व करने वाली रेखा के पथ का पालन करना चाहिए। समस्या यह है कि मुझे नहीं पता कि यह कैसे करें।मैं d3.js में पथ के y समन्वय को कैसे वापस कर सकता हूं?
नीचे दिया गया कोड दिखाता है कि मैंने कितनी दूर तक सफलता प्राप्त की है, और यह वास्तव में दाएं एक्स समन्वय पर दस्तावेज़ में एक सर्कल जोड़ता है। अब, मैं प्रश्न चिह्न को किस स्थान से बदलूं?
svg.on("mousemove", function() {
d3.select("path.line")
.style("stroke-width", "2.5px");
svg.append("svg:circle")
.attr("cx", Math.floor(event.offsetX-m[1]))
.attr("cy", ?)
.attr("r", "10")
.attr("fill", "red");
});
मैं बहुत यकीन है कि यह मनमाना समय शैली पथ आकार, उदा लिए काम नहीं करेगा हूँ यहाँ कैसे आप डी 3 में ऐसा होता है एक बिंदु पर एक बहुत तेज स्पाइक वाली एक रेखा पथ की लंबाई और एक्स-स्थिति के बीच एक रैखिक इंटरपोलेशन की अनुमति नहीं देगी। – nrabinowitz
@nrabinowitz जो http://jsfiddle.net/FPfFJ/ और हाँ का परीक्षण करने के लिए काफी आसान है, यह काफी नहीं है। – Duopixel
हाँ, मुझे लगता है कि इस मामले में एक सटीक बिंदु प्राप्त करने के लिए '.getPointAtLength()' का उपयोग करने का एकमात्र तरीका लाइन के साथ खोज करना है जब तक कि आपको 'd3.event.pageX' के करीब 'x' मान वाला कोई बिंदु न मिल जाए। । – nrabinowitz