【发布时间】:2017-04-15 01:48:12
【问题描述】:
我为以下对象数组制作了一个条形图
var data = [{"state":"California", "values":50},{"state":"Massachusetts":"values:20},{"state":"Texas", "values":15},{"state":"New York","values":5},{"state":"Washington", "values":1}]
svg.selectAll("rect")
.data(data)
.enter().append("rect")
.attr("class", "bar")
.attr("x", function(d) { return barX(d.state); })
.attr("y", function(d) { return barY(+d.values); })
.attr("width", barX.bandwidth())
.attr("height", function(d) { return barH - barY(+d.values); })
y 轴是值,x 值是状态。条形图按上述顺序按最大值到最小值的顺序排列。 (CA, MA, TX, NY, WA) 现在我有一个新的数据集,如下所示:
var data2 = [{"state":"Massachusetts","values":70},{"state":"California", "values":40},{"state":"New York","values":20},{"state":"Washington","values":15},{"state":"Texas", "values":10}]
我希望条形图的顺序仍然是 CA、MA、TX、NY、WA,它们的更新值为 40、70、10、20、15。我现在的尝试是更改第一个条形图(加利福尼亚州),即应该是 40 到 70 的值。我想保持与第一个数据集相同的顺序。我该怎么做?
【问题讨论】:
标签: javascript d3.js svg bar-chart