酒吧图表& JSON

时间:2013-08-13 08:07:25

标签: d3.js

我是新的dev d3js。我在json [{},{}]中得到bar的值?帮我。我的代码

[{value: 11}, { value: 111}]

http://jsfiddle.net/Y8fU5/

谢谢。

1 个答案:

答案 0 :(得分:0)

您的代码有多个问题。

  1. 您引用names.length但名称未定义。我认为你的意思是json.length
  2. 您调用chart.selectAll("rect").data(data)但数据(参数)未定义。我认为你的意思是data(json)
  3. 您正在直接使用比例尺,而您的数据不是他们期望的域中的值:

    chart.selectAll("rect")
        ...
        .attr("y", y)
        .attr("width", x)
    

    这仅适用于选择的数据在比例域中具有值的情况。在这种情况下,您的数据是valuename属性位于比例范围内的对象,因此:

    chart.selectAll("rect")
        ...
        .attr("y", function(d) { return y(d.name); })
        .attr("width", function(d) { return x(d.value); })
    
  4. 您的文字节点的类似问题:

    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;});
    
  5. 这是一个工作小提琴:http://jsfiddle.net/Smrm3/