D3.js D3树映射json数据格式

D3.js D3树映射json数据格式,d3.js,treemap,D3.js,Treemap,我是d3js的新手。我浏览了几个树状图可视化示例,发现数据具有相同的层次结构: { "name": "flare", "children": [ ... ] ... } 但是,如果我有一个具有相同属性集且不嵌套的对象数组,该怎么办 [ { "CourseID": "15.010B", "Subject": "15.01", "Section": "B", "Department": "Managerial Economics",

我是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",
      ...
  },
      ...
]
我应该自己把它分等级吗?你能为我提供这种数据格式的可视化树形图示例吗。提前谢谢

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_);
将创建适当的分层数据集。

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

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

将JSON格式化为层次结构可能会很乏味。我使用它可以导入CSV、JSON或Excel文件,并将它们“细化”到我选择的JSON结构中。设置起来似乎有点困难,但一旦完成,您将拥有一个工具,可以将数据操纵到您选择的结构中

将JSON格式化为层次结构可能会很乏味。我使用它可以导入CSV、JSON或Excel文件,并将它们“细化”到我选择的JSON结构中。设置起来似乎有点困难,但一旦完成,您将拥有一个工具,可以将数据操纵到您选择的结构中

谢谢,但是如果JSON中没有“children”属性,您将不会得到任何分层打包,对吗?问题是,我需要d3.layout.treemap(数据)函数为我在每个对象中生成x、y、dx、dy属性,以便为每个对象绘制一个矩形。“children”属性只是默认值。通过设置自定义访问器函数,您可以为孩子指定任何您喜欢的属性。谢谢,Scott。因此,有必要将特定属性作为子属性,在这种情况下,d3将为我计算x,y,dx,dy属性,对吗?谢谢,但是如果JSON中没有“children”属性,您将不会得到任何分层打包,对吗?问题是,我需要d3.layout.treemap(数据)函数为我在每个对象中生成x、y、dx、dy属性,以便为每个对象绘制一个矩形。“children”属性只是默认值。通过设置自定义访问器函数,您可以为孩子指定任何您喜欢的属性。谢谢,Scott。所以有必要将特定的属性作为子元素,在这种情况下,d3将为我计算x,y,dx,dy属性,对吗?