D3.js d3js如何通过两端画一条线,使其在中间相交?
我看到我们可以通过D3.js d3js如何通过两端画一条线,使其在中间相交?,d3.js,D3.js,我看到我们可以通过stroke dasharray为笔划绘制动画,例如: var svg=d3.select(“body”).append(“svg”) .attr(“宽度”,300) .attr(“高度”,300); var path=svg.append(“路径”) .attr(“d”,“M10,10 50,20,100,30 110,40 100,50,40 10,10 Z”) .attr(“样式”,“笔划:#666;笔划宽度:6px;填充:无;”); var totalLength=p
stroke dasharray
为笔划绘制动画,例如:
var svg=d3.select(“body”).append(“svg”)
.attr(“宽度”,300)
.attr(“高度”,300);
var path=svg.append(“路径”)
.attr(“d”,“M10,10 50,20,100,30 110,40 100,50,40 10,10 Z”)
.attr(“样式”,“笔划:#666;笔划宽度:6px;填充:无;”);
var totalLength=path.node().getTotalLength();
attr(“stroke dasharray”,totalLength+,“+totalLength”)
.attr(“stroke dashoffset”,totalLength)/=吃多少黑色短划线?
.transition()
.期限(2000年)
.ease(“线性”)
.attr(“行程偏移”,0)代码>
试试这个,应该可以:)
var svg=d3.select(“body”).append(“svg”)
.attr(“宽度”,300)
.attr(“高度”,300);
var path=svg.append(“路径”)
.attr(“d”,“M0,30 L30,5 L60,30 S70,20 90,7 S120,10 120,30”)
.attr(“样式”,“笔划:#666;笔划宽度:6px;填充:无;”);
var totalLength=path.node().getTotalLength();
attr(“stroke dasharray”,totalLength+,“+totalLength”)
.attr(“stroke dashoffset”,totalLength)/=吃多少黑色短划线?
.transition()
.期限(2000年)
.ease(“线性”)
.attr(“stroke dashoffset”,totalLength*1/2)//给出集合点。
.attr(“笔划数组”,总长度+”,“+0)代码>
感谢匿名但英勇的+1给予者。另请参见: