看来您正在跳过一些步骤。D3在幕后实际上并没有为您带来很多魔力。您仍然需要推送数据并自己更新DOM。D3只是提供了一个方便的编程模型来管理此过程。
因此,通过任何可视化,您都会得到以下有趣的内容:
您的代码正在更新数据数组,但不管理其他任何部分。您需要将更新的数据驱动回DOM(特别是使节点可见的属性/样式)。
因此,更新图将需要执行以下操作:
selection.data
以将新数据绑定到现有DOM。您可以定义一个关键函数来控制数据如何映射到DOM节点。enter
,exit
并update
选择你喜欢的。对于#3,这不仅仅是调用的问题selection.transition
,而是您需要考虑要转换的属性和样式。在过渡上调用attr
和style
就像在选择上调用它们一样,只不过DOM使用插值更新了很多次,而不是使用最终值更新了一次。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句