我尝试使用单个对象创建条形图。我从较大的数据集中隔离了此对象,但现在无法在其上使用.data
。似乎.bind
将工作的唯一格式是数组中的几个对象。我的项目是这样的,当用户点击某个日期时,它会从数据集中抓取对象并创建相应的条形图。 bind
会在这种情况下工作吗?
Object {Date: "2010", Paper and Paperboard: "71310", Glass: "11520", Ferrous: "16920", Aluminum: "3510"}
答案 0 :(得分:1)
在D3中,data()
函数接受三件事:
话虽这么说,如果你只有一个对象,你必须将它包装在一个数组中:
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()
函数接受特定类型的对象,我们称之为数组。