我是d3的新手,我尝试创建一个树形图。 我注意到,当一个键被命名为“value”时,我的代码会起作用,如果我将我的键称为“size”,则不会这样做。
我的问题从第一行开始:
d3.json("dataZC.json", function(err, data)
{
var treemap =d3.layout.treemap()
.size([500,500])
.nodes(data);
console.log(treemap);
}
我的数据看起来像那样
{
"name": "flare",
"children": [
{"name": "analytics",
"children": [
{"name": "cluster",
"children": [
{"name": "AgglomerativeCluster", "size": 3938},
{"name": "CommunityStructure", "size": 3812},
{"name": "HierarchicalCluster", "size": 6714},
{"name": "MergeEdge", "size": 743}
]},
{
"name": "graph",
"children": [
{"name": "BetweennessCentrality", "size": 3534},
{"name": "LinkDistance", "size": 5731},
{"name": "MaxFlowMinCut", "size": 7840},
{"name": "ShortestPaths", "size": 5914},
{"name": "SpanningTree", "size": 3416}
]}
,........
]}
]}
如果某人有解决方案使用任何键的树形图,我将非常感激。 感谢。
答案 0 :(得分:0)
来自fine manual:
<强> treemap.value 强>([值])
如果指定了value,则将值访问器设置为指定的函数。如果未指定value,则返回当前值访问器,该访问器假定输入数据是具有数字value
属性的对象:function value(d) { return d.value; }
使用
treemap = d3.layout.treemap()
.value(function(d) {
return d.size;
})