我有一张D3地图,其中圆圈表示数量(圆的大小)和百分比值(圆的颜色)。所有这些都是在页面加载时生成的,并且在界面中是一个jQuery UI滑块,允许用户循环浏览数据中的时间序列 - 这会改变圆的大小和颜色。为了改变大小,我在jQuery的滑块中创建了一个函数,如下所示:
slide: function( event, ui ) {
redraw(ui.value.toString());
function redraw(val) {
g.selectAll("circle")
.transition()
.duration(1000).ease("linear")
.attr("r", function(d) { return radius(+d[val]); });
}
}
这很有效。我也像这样动态计算百分比:
var percent = [];
table.forEach(function(d) {
percent [d.city]=(d[ui.value])/d.total;
})
这两个城市'和'总计'是加载的csv文件中的字段。我想将这些百分比值加入数据,然后在滑块滑动时更改圆圈的颜色。 csv和百分比数组都包含城市名称,所以我想我可以使用它来执行连接,我只是不确定如何。