Javascript 如何了解d3.js中的数据结构Mike Bostock示例

Javascript 如何了解d3.js中的数据结构Mike Bostock示例,javascript,json,d3.js,Javascript,Json,D3.js,在使用d3操作后,如何知道Mike Bostock示例中JSON的结构,例如: 我的目标是使用我自己的JSON对象虚拟数组实现它,而不加载csv数据。但我不知道JSON应该是什么样子 Mike Bostock的数据处理: d3.csv("data.csv", function(d, i, columns) { for (i = 1, t = 0; i < columns.length; ++i) t += d[columns[i]] = +d[columns[i]]; d.tota

在使用d3操作后,如何知道Mike Bostock示例中JSON的结构,例如:

我的目标是使用我自己的JSON对象虚拟数组实现它,而不加载csv数据。但我不知道JSON应该是什么样子

Mike Bostock的数据处理:

d3.csv("data.csv", function(d, i, columns) {
  for (i = 1, t = 0; i < columns.length; ++i) t += d[columns[i]] = +d[columns[i]];
  d.total = t;
  return d;
}, function(error, data) {
  if (error) throw error;

我已经尝试在本地保存csv,并在node.js命令中运行上面的代码,但没有成功。有更简单的方法吗?

在d3文档中,它展示了如何将CSV解析为对象数组的示例。以下是一个示例CSV文件:

Year,Make,Model,Length
1997,Ford,E350,2.34
2000,Mercury,Cougar,2.38
生成的JavaScript数组是:

[
  {"Year": "1997", "Make": "Ford", "Model": "E350", "Length": "2.34"},
  {"Year": "2000", "Make": "Mercury", "Model": "Cougar", "Length": "2.38"}
]

这意味着在您的示例中,第一个数据元素如下所示:

[
  {"State": "AL", "Under 5 Years": "310504","5 to 13 Years": "552339","14 to 17 Years": "259034","18 to 24 Years": "450818","25 to 44 Years": "1231572","45 to 64 Years": "1215966","65 Years and Over": "641667"}
]
或者以更易于阅读的格式:

[
  {
    "State": "AL", 
    "Under 5 Years": "310504",
    "5 to 13 Years": "552339",
    "14 to 17 Years": "259034",
    "18 to 24 Years": "450818",
    "25 to 44 Years": "1231572",
    "45 to 64 Years": "1215966",
    "65 Years and Over": "641667"
  }
]
最好的办法是将Bostock的CSV复制到JSON-to-CSV转换器中,但还有许多其他转换器,然后在本地代码中使用JSON

如果您确实使用D3CSV加载功能,那么由于跨源请求错误,您将很难从本地文件(没有简单的服务器)进行加载


另外,我也不知道你说作为node.js命令运行这个命令是什么意思——我想你可能想在一个“.js”文件中包含你的javascript和json对象,并将其链接到一个html文件,或者只是将你的javascript内联到html文件中,如果它是一个像Bostock在你链接的可视化中那样简单的项目,谢谢。我用你的建议CSV到JSON在线转换器!