D3有没有内置的方法来绘制曲线?
我需要很多动画曲线在我的项目。我已经尝试过Jason解决方案链接到示例,链接到js文件,它运行良好,但即使Chrome浏览器也开始落后于30+动画曲线在同一时间。
在我的例子中,每条曲线都有自己的坐标,所以浏览器应该处理所有这些曲线的路径,我理解这一点,但是Jason的解决方案在每次迭代时重新计算所有路径,正如我所理解的那样,这样做是为了能够通过灰色点来改变路径。
我是d3库的新手,所以我无法意识到,是否可以一次计算所有的路径,然后简单地绘制从0%到100%的曲线?或者所有的事情都更简单,而且有简单的方法?
发布于 2013-03-28 21:16:58
设置路径的d参数将使用d3的默认动画。因此,这应该是正确的动画:
d
var svg = d3.select('#myelement').append('svg'), curve = svg.append('path') .attr('d', 'M100,200 C100,100 250,100 250,200S400,300 400,200'); curve.transition() .attr('d', 'M0,0 C100,100 250,100 250,200S400,300 400,200');
请在JsFiddle上看到这个。
有关曲线命令的其他文档,请参见正式文件。
发布于 2015-04-20 08:28:53
使用d3.js动画Bezier曲线的一种廉价而简单的方法是转换stroke-dasharray属性。这个想法是从整条线是一条空隙开始,最后是一条短跑线。
stroke-dasharray
有关这个想法的一个简单实现:http://jsfiddle.net/nj37gkgq/,请参阅这个jsfiddle。
https://stackoverflow.com/questions/15692028
相似问题