我是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",
...
},
...
]
我应该自己分层吗?你能为我提供这种数据格式的可视树形图示例。提前致谢。
答案 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结构。设置似乎有点痛苦,但一旦完成,您将拥有一个工具,可以将数据操作到您选择的结构中。