D3.js 条形图及;json

D3.js 条形图及;json,d3.js,D3.js,我是新的dev d3js。我在json[{},{}]中为bar获取值?帮助我。我的代码 [{value: 11}, { value: 111}] 谢谢。您的代码有多个问题 您引用了名称。长度但名称未定义。我想你的意思是json.length 您可以调用图表。选择all(“rect”)。数据(data),但数据(参数)未定义。我想你的意思是data(json) 如果您的数据不是他们期望的域中的值,则直接使用比例: chart.selectAll("rect") ... .att

我是新的dev d3js。我在json[{},{}]中为bar获取值?帮助我。我的代码

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


谢谢。

您的代码有多个问题

  • 您引用了
    名称。长度
    但名称未定义。我想你的意思是
    json.length
  • 您可以调用
    图表。选择all(“rect”)。数据(data)
    ,但数据(参数)未定义。我想你的意思是
    data(json)
  • 如果您的数据不是他们期望的域中的值,则直接使用比例:

    chart.selectAll("rect")
        ...
        .attr("y", y)
        .attr("width", x)
    
    仅当选择数据的值位于比例域中时,此选项才有效。在这种情况下,您的数据是
    名称
    属性位于刻度域中的对象,因此:

    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;});
    

  • 这是一个有用的问题:

    请花点时间构造一个问题,并展示您所做的尝试。这使得更多的人更有可能提供帮助-