我开发了一个简单的 d3.js 折线图,允许用户在 json 中的变量之间切换:
http://plnkr.co/edit/8r0DBxVFgY6SJKbukWh5?p=preview
但是,我需要它是条形图而不是折线图,并且我无法弄清楚如何转换条形图,或者其他任何使用 selectAll 来绘制的东西,例如点。在这种情况下,我一直在 d3.json 函数中绘制条形,如下所示:
svg.selectAll(".bar")
.data(data)
.enter().append("rect")
.attr("class", "bar")
.attr("x", function(d) { return x(d.watershed); })
.attr("width", x.rangeBand())
.attr("y", function(d) { return y(d.variable); })
.attr("height", function(d) { return height - y(d.variable); });
问题是:我应该在 updateData 函数中放置什么来转换条形以反映新数据?我觉得我需要设置一个变量来从 d3.json 和 updateData 函数(与 var valueLine 一样)调用 svg.selectAll('.bar"),但我找不到看起来如何的示例在这种情况下。