gpt4 book ai didi

d3.js - 使用折线图和人力车的过渡

转载 作者:行者123 更新时间:2023-12-03 17:52:53 25 4
gpt4 key购买 nike

我正在尝试使用 Rickshaw 的漂亮图表框架向折线图添加过渡。我是 d3 的新手,但似乎我需要添加一条直线,然后在 Rickshaw.Graph.Renderer 上的渲染函数中过渡到图形数据

我的问题是,有没有什么东西可以帮助向我的折线图添加一些动画——也许是从一条平线过渡——或者从左到右画线。

我看过原始 d3 的例子,但适应人力车似乎很难 - 或者我从错误的角度击中它。

最佳答案

只有 d3(我不知道人力车),我们可以使用以下代码做到这一点:

var linePath = svg.append("path")
.datum(data)
.attr("d", line)
.style("fill", "none")
.style("stroke", "#3498db")
.style("stroke-width", "1px")
.attr("transform", "translate(150, 0)");

var linePathLength = linePath.node().getTotalLength();
linePath
.attr("stroke-dasharray", linePathLength)
.attr("stroke-dashoffset", linePathLength)
.transition()
.duration(4000)
.ease("linear")
.attr("stroke-dashoffset", 0);

代码的第一部分画了一条简单的线,没有动画。

动画设置在第二部分。
使用 linePathLength 我们以 px 为单位获得线的长度。
然后将定义线条起点的stroke-dashoffset设置为0,这允许我们从左到右慢慢绘制线条。

代码已在这里找到 http://datavis.fr/index.php?page=transition (虽然是法语)。

关于d3.js - 使用折线图和人力车的过渡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16871200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com