D3 treemap json数据格式

时间:2013-08-19 20:14:47

标签: d3.js treemap

我是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",
      ...
  },
      ...
]

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

2 个答案:

答案 0 :(得分:2)

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

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_);

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

答案 1 :(得分:0)

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