Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
D3.js d3js如何通过两端画一条线,使其在中间相交?_D3.js - Fatal编程技术网

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给予者。另请参见: