javascript - d3js : how to bind data within a single object

标签 javascript d3.js

我正在尝试使用单个对象创建条形图。我将该对象与较大的数据集隔离开来,但现在在其上使用 .data 时遇到问题。似乎 .bind 可以工作的唯一格式是数组中的多个对象。我的项目是这样设计的,当用户单击某个日期时,它会从数据集中获取对象并创建相应的条形图。 bind 在这种情况下可以工作吗?

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

最佳答案

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

  1. 数组
  2. 一个函数
  3. 没什么

话虽如此,如果您只有一个对象,则必须将其包装在数组中:

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/

相关文章:

javascript - 如何用d3 js解析网页音频数据

javascript - 如何将图片添加到点击计数器文本显示中? <图像> <点击次数>

javascript - javascript中递归语法的正则表达式

javascript - 当您的服务器位于不同时区时,如何对时区特定数据执行操作?

javascript - d3.js & nvd3.js -- 如何设置y轴范围

javascript - 通过变量更改 csv 输入

javascript - 如何使用 D3.js 正确缩放?

javascript - 添加 d3 svg.selectAll (".foo").style ("fill",...) 覆盖 .foo :hover css rule

java - 如何清除 jZebra

javascript - Object.assign 不会更新我的状态(React)