d3js:如何在单个对象中绑定数据

时间:2017-01-17 04:45:25

标签: javascript d3.js

我尝试使用单个对象创建条形图。我从较大的数据集中隔离了此对象,但现在无法在其上使用.data。似乎.bind将工作的唯一格式是数组中的几个对象。我的项目是这样的,当用户点击某个日期时,它会从数据集中抓取对象并创建相应的条形图。 bind会在这种情况下工作吗?

Object {Date: "2010", Paper and Paperboard: "71310", Glass: "11520", Ferrous: "16920", Aluminum: "3510"}

1 个答案:

答案 0 :(得分:1)

在D3中,data()函数接受三件事:

  1. 数组
  2. 功能
  3. 没有
  4. 话虽这么说,如果你只有一个对象,你必须将它包装在一个数组中:

    var myData = [{Date: "2010", Paper and Paperboard: "71310", Glass: "11520", Ferrous: "16920", Aluminum: "3510"}];
    

    然后:

    data(myData)
    

    或者,或者:

    var myObject = {Date: "2010", Paper and Paperboard: "71310", Glass: "11520", Ferrous: "16920", Aluminum: "3510"};
    
    data([myObject])
    

    但您在输入选择中只有只有一个元素

    更好的方法是迭代该对象以创建对象数组。

    PS:我们都知道在JavaScript中数组是对象,但我相信我的观点很明确:data()函数接受特定类型的对象,我们称之为数组