0

我是 d3js 的新手。我浏览了几个树形图可视化示例,并注意到数据具有相同的层次结构:

{
 "name": "flare",
  "children": [
      ...
   ]
      ...
}

但是,如果我有一个具有相同属性集但没有嵌套的对象数组怎么办:

[
  { 
   "CourseID": "15.010B",
   "Subject": "15.01",
   "Section": "B",
   "Department": "Managerial Economics",
   "Professor": "Doyle",
      ...
  },
  { 
   "CourseID": "15.010B",
   "Subject": "15.01",
   "Section": "B",
      ...
  },
      ...
]

我应该自己让它分层吗?你能为我提供这种数据格式的可视化树图示例吗?提前致谢。

4

2 回答 2

3

d3 内置的嵌套功能可以轻松为您创建此类分层数据,例如:

var nest = d3.nest()
    .key(function(d) { return d.Department; })
    .key(function(d) { return d.Subject; })
    .key(function(d) { return d.Section; })
    .entries(_dataset_name_);

将创建一个适当的分层数据集。

于 2013-08-20T01:41:00.423 回答
0

将 JSON 格式化为层次结构可能很乏味。我使用了Google Refine,它允许我导入 CSV、JSON 或 Excel 文件并将它们“优化”成我选择的 JSON 结构。设置似乎有点痛苦,但一旦完成,您将拥有一个工具,用于将数据处理成您选择的结构。

于 2014-01-14T20:22:10.777 回答