带有过渡的D3多线图

时间:2015-07-13 15:00:32

标签: javascript d3.js multiline

我正在研究带有过渡的多线图的纯d3实现。它运作良好,有一点例外。使用绘制为路径的线条的过渡似乎非常困难。我找到了一些使用剪切路径等的解决方案,并且总是与警告相结合,这些解决方案非常耗费性能。

是否有更简单的方法可以在多线图表中显示进度,作为真正的点对点绘图(至少在用户感知中)。

您可以在http://bl.ocks.org/m99coder/136db7134df6fdc3e3cf

下查看我当前的代码

亲切的问候 马可

更新2015-07-14 14:14:00 CET

我重构了代码的某些部分:http://bl.ocks.org/m99coder/8a9fab35b8f47ab8844c。但不幸的是,我无法像你给出教程链接(http://bost.ocks.org/mike/path/)那样顺利地工作。有什么建议吗?也许它与定义的范围有关,它避免了“viewport”之外的值。

更新2015-07-14 14:57:00 CET

越来越近但尚未完美:http://bl.ocks.org/m99coder/136db7134df6fdc3e3cf/a53f06a0334bada96e1f892c886c5b68fe3c0a05。在平滑过渡到左边之后,看起来路径正在向右跳跃。

更新2015-07-14 17:37:00 CET

协调更新和转换的持续时间并没有解决它。现在它跳到左边:http://bl.ocks.org/m99coder/8a9fab35b8f47ab8844c/cd25a9d33839f52974780b1c142922cbbf8f64f4

1 个答案:

答案 0 :(得分:1)

我设法按预期工作。这是一个时间问题。在转换完成之前修改了数据。新方法使用回调来在转换结束时获得通知,然后转换数据。

http://bl.ocks.org/m99coder/54d6e0130064c699e6e4/06149dd1ab22cebf5b307bab3ec90079e356bce9