我是新开发的 d3js。我在 json [{},{}] 中得到 bar 的值?帮我。我的代码
[{value: 11}, { value: 111}]
谢谢你。
我是新开发的 d3js。我在 json [{},{}] 中得到 bar 的值?帮我。我的代码
[{value: 11}, { value: 111}]
谢谢你。
您的代码有多个问题。
names.length
但名称未定义。我想你的意思是json.length
chart.selectAll("rect").data(data)
但数据(参数)未定义。我想你的意思是data(json)
您正在直接使用比例尺,其中您的数据不是他们期望的域中的值:
chart.selectAll("rect")
...
.attr("y", y)
.attr("width", x)
这仅在选择的数据具有比例域中的值时才有效。在这种情况下,您的数据是value
和name
属性位于比例域中的对象,因此:
chart.selectAll("rect")
...
.attr("y", function(d) { return y(d.name); })
.attr("width", function(d) { return x(d.value); })
您的文本节点的类似问题:
chart.selectAll("text")
...
.attr("x", x)
.attr("y", function(d){ return y(d) + y.rangeBand()/2; } )
...
.text(String);
相反,您需要显式访问对象属性:
chart.selectAll("text")
...
.attr("x", function(d) { return x(d.value); })
.attr("y", function(d) { return y(d.name) + y.rangeBand()/2; } )
...
.text(function(d){return d.name;});
这是一个工作小提琴:http: //jsfiddle.net/Smrm3/