【发布时间】:2015-06-04 13:06:14
【问题描述】:
我正在尝试使用 d3.js 制作圆形包装图。问题是节点在 x 和 y 属性中有 NaN 值,所以所有的圆圈都有 transform="translate(NaN,NaN)"
Json 数据:
var data = {
"name": "flare",
"children": [
{
"name": "analytics",
"children": [
{
"name": "cluster",
"children": [
{"name": "AgglomerativeCluster", "size": 3938},
{"name": "CommunityStructure", "size": 3812},
]
},
{
"name": "graph",
"children": [
{"name": "BetweennessCentrality", "size": 3534}
]
}]
}]
};
脚本:
var diameter = 200;
var w = 500;
var h = 400;
var pack = d3.layout.pack()
.size(500,400);
var svg = d3.selectAll("body").append("svg")
.attr({width:w,height:h})
.append("g").attr("transform","translate("+w/2+","+h/2+")");
var nodes = pack.nodes(data);
var circles = svg.selectAll("circle")
.data(nodes)
.enter()
.append("circle")
.attr("r",function(d){return d})
.attr("transform", function(d){return "translate("+d.x+","+d.y+")";});
谁能解释为什么 X 和 Y 节点的值为 NaN?我用我写的数据和脚本创建了一个 jsFiddle:http://jsfiddle.net/nm9Lozn2/2/
【问题讨论】:
标签: javascript d3.js data-visualization circle-pack