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)
重绘它们。我试过了,它顺利地过渡到新的半径并且没有重新绘制它们。
我正在使用数据地图的气泡来显示每年略有变化的数据:
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)
重绘它们。我试过了,它顺利地过渡到新的半径并且没有重新绘制它们。