我正在尝试使用单个对象创建条形图。我将该对象与较大的数据集隔离开来,但现在在其上使用 .data
时遇到问题。似乎 .bind
可以工作的唯一格式是数组中的多个对象。我的项目是这样设计的,当用户单击某个日期时,它会从数据集中获取对象并创建相应的条形图。 bind
在这种情况下可以工作吗?
Object {Date: "2010", Paper and Paperboard: "71310", Glass: "11520", Ferrous: "16920", Aluminum: "3510"}
最佳答案
在 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()
函数接受特定类型对象,我们称之为数组。
关于javascript - d3js : how to bind data within a single object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41689237/