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

D3.js datamaps.js-如何在气泡大小之间平滑过渡?,d3.js,datamaps,D3.js,Datamaps,我使用datamaps的气泡来显示每年略有变化的数据: (在底部的“1990”和“2000”按钮之间单击) 当我用map.bubbles([…])替换气泡时,默认的动画是新气泡从中心开始生长,这会掩盖大小上的小变化。如何使气泡在大小之间平滑过渡(即增大或缩小),而不是替换它们?查看数据映射源,我注意到它在圆上进行了过渡,但它使用​JSON.stringify​ 在气泡对象上作为选择的关键点。如果任何属性发生更改,则将其视为新数据,并将其初始半径设置为0。我添加了一个选项,只使用lat/lng作

我使用datamaps的气泡来显示每年略有变化的数据:

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


当我用
map.bubbles([…])
替换气泡时,默认的动画是新气泡从中心开始生长,这会掩盖大小上的小变化。如何使气泡在大小之间平滑过渡(即增大或缩小),而不是替换它们?

查看数据映射源,我注意到它在圆上进行了过渡,但它使用​<代码>JSON.stringify​ 在气泡对象上作为选择的关键点。如果任何属性发生更改,则将其视为新数据,并将其初始半径设置为0。我添加了一个选项,只使用lat/lng作为键,因此我不需要重新写入转换:

假设您在名为
节点的列表中有气泡数据

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