在D3中,最好的方法是从一条线中获取SVG路径字符串,该行是通过将一条线附加到DOM并手动设置其X1,X2,Y1,Y2属性而不是构造函数来创建的。
gRight.append("line")
.attr("class","revenue-equilibrium-vertical-1")
.attr("stroke-dasharray",[5,5])
.style("stroke","yellow")
.attr("stroke-width",2)
然后通过用户按下按钮,根据其X1和X2属性动态设置该行。我需要获取D3生成的Path字符串,以将其添加到intersect.js中,这是计算路径交点的附加项,但是此库要求我指定相关的路径字符串,这是获得此路径的最佳方法。是否存在用于访问SVG字符串的getPath()方法?
//need to get the SVG path string that is used to draw the line
d3.select(".supply-equilibrium-vertical-1").attr("x1",equilibriumPositionSD.x).attr("x2",equilibriumPositionSD.x).attr("y1",equilibriumPositionSD.y).attr("y2",height)