d3.js,将转换应用于数据?

Posted

技术标签:

【中文标题】d3.js,将转换应用于数据?【英文标题】:d3.js, applying transitions to data? 【发布时间】:2013-08-03 06:32:48 【问题描述】:

所以我使用 d3 和强制布局,并希望随着时间的推移移动固定节点。在这里使用转换()是有意义的,但我似乎无法弄清楚如何将转换应用于节点的绑定数据,而不是 svg 对象的属性。这可能吗,还是我应该只写一个带有插值的简单 setTimeout() ?

【问题讨论】:

最后,只有 svg 对象的属性才会产生可见的动画。你能详细说明一下为什么你认为转换数据是你想要的吗? 虽然我可以 attr('transform', 'translate()') 可见的 SVG 对象,但节点仍会“位于”它的旧位置,从而影响模拟(即排斥其他节点,链接的目标等)。为了使模拟正常工作,节点的 x/y 坐标需要与可见的 SVG 对象匹配。因此,为了平滑移动一个固定节点(其数据对象的 x/y 属性不再由强制布局更新),我想使用转换。我想我可以转换可见的 SVG 对象并立即设置数据对象 x/y,但这感觉有点不对 【参考方案1】:

这里是tutorial

或者你可以试试

window.setTimeout(someFunction, 2000);

在函数中,您可以获取图形的节点并更改其中的 xy 并进行更新。

另一个example

如果您需要示例,请随意

【讨论】:

以上是关于d3.js,将转换应用于数据?的主要内容,如果未能解决你的问题,请参考以下文章

potree的第三方库

d3.js:将 SVG 地理路径转换为画布

D3.js饼图动态更新转换未按预期工作

将 ctree 输出转换为 JSON 格式(用于 D3 树布局)

d3.js 过渡结束事件

d3.js 使用 exit() 和 enter() 进行子转换