是否可以将两条线合并为一条线并将其制作为单个线? 这里有一个例子我有什么:D3:将合并的线条绘制为单个线条
const line1 = 'M0,100V100H0V0';
const line2 = 'M-200,200V200H0V100';
const path = d3.select('#line')
.attr('d', line1 + line2);
const pathLength = path.node().getTotalLength();
function _interpolateDashOffset() {;
const interpolate = d3.interpolateNumber(pathLength, pathLength * 2);
return() => time => interpolate(time);
}
d3.select('#line')
.attr('fill', 'none')
.attr('stroke', 'black')
.attr('stroke-width', 8)
.attr('stroke-dasharray', `${pathLength} ${pathLength}`)
.transition()
.ease(d3.easeLinear)
.duration(2000)
.attrTween('stroke-dashoffset', _interpolateDashOffset())
.on('end',() => {
console.log('path animation ended');
});
(它使用ES6,只有FF和Chrome可以打开W/O错误)正如你看到的合并成一个线条
而不是动画。但动画在底部绘制一条线,然后在顶部绘制一条线。 是否有可能以某种方式将这些行合并为一行并将其作为单行进行生成?
(它只是一条线,我想要两个看到这样的行为与组合线)
感谢
你的文章是真棒,我已经为自己发现了许多新的,感谢的话。另外,在理解'Path Mini-Language'之后,我可以合并行https://www.dashingd3js.com/svg-paths-and-d3js –
下面是两个链接,可以帮助您了解SVG的路径:[使用行创建路径命令](http://vanseodesign.com/web-design/svg-paths-line-commands/)和[用曲线命令创建路径](http://vanseodesign.com/web-design/svg-paths-curve - 命令/) – Ashitaka