datamaps.js - 如何在气泡大小之间平滑过渡?

datamaps.js - How to smoothly transition between bubble sizes?

我正在使用数据地图的气泡来显示每年略有变化的数据:

http://jsbin.com/goqeve/edit?html,output

(在底部的“1990”和“2000”按钮之间单击)

当我用 map.bubbles([...]) 替换气泡时,默认动画是新气泡从中心生长,这掩盖了尺寸的微小变化。我怎样才能让气泡在尺寸之间平滑过渡(即增大或缩小)而不是替换它们?

查看数据图源我注意到它在圆圈上做了一个过渡,但它在气泡对象上使用 JSON.stringify 作为选择的关键。如果任何属性发生变化,它将被视为新数据并将其初始半径设置为 0。我添加了一个选项以仅使用 lat/lng 作为键,因此我不需要重新编写转换:https://github.com/markmarkoh/datamaps/pull/225

假设您的气泡数据位于名为 Nodes 的列表中。

当您从 1990 过渡到 2000(反之亦然)时,您可以更新 Nodes 中数据的半径,然后通过调用 map.bubbles(Nodes) 重绘它们。我试过了,它顺利地过渡到新的半径并且没有重新绘制它们。