首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用最少资源的方法在D3库中绘制曲线

用最少资源的方法在D3库中绘制曲线
EN

Stack Overflow用户
提问于 2013-03-28 20:58:48
回答 2查看 2.2K关注 0票数 2

D3有没有内置的方法来绘制曲线?

我需要很多动画曲线在我的项目。我已经尝试过Jason解决方案链接到示例链接到js文件,它运行良好,但即使Chrome浏览器也开始落后于30+动画曲线在同一时间。

在我的例子中,每条曲线都有自己的坐标,所以浏览器应该处理所有这些曲线的路径,我理解这一点,但是Jason的解决方案在每次迭代时重新计算所有路径,正如我所理解的那样,这样做是为了能够通过灰色点来改变路径。

我是d3库的新手,所以我无法意识到,是否可以一次计算所有的路径,然后简单地绘制从0%到100%的曲线?或者所有的事情都更简单,而且有简单的方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-28 21:16:58

设置路径的d参数将使用d3的默认动画。因此,这应该是正确的动画:

代码语言:javascript
运行
复制
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上看到这个。

有关曲线命令的其他文档,请参见正式文件

票数 2
EN

Stack Overflow用户

发布于 2015-04-20 08:28:53

使用d3.js动画Bezier曲线的一种廉价而简单的方法是转换stroke-dasharray属性。这个想法是从整条线是一条空隙开始,最后是一条短跑线。

有关这个想法的一个简单实现:http://jsfiddle.net/nj37gkgq/,请参阅这个jsfiddle。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15692028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档