Javascript 传递给D3的json

Javascript 传递给D3的json,javascript,json,d3.js,Javascript,Json,D3.js,我试图将数据加载到D3脚本中,但在Dendogranm示例中很难处理数据。数据来自服务器,如下所示: d3.json( [{"name": "flare", "children": [{"name": "analytics", "children": [{"name": "cluster", "children": [{"name": "AgglomerativeCluster", "size": 3938}, {"name": "CommunityStructure", "size": 381

我试图将数据加载到D3脚本中,但在Dendogranm示例中很难处理数据。数据来自服务器,如下所示:

d3.json( [{"name": "flare", "children": [{"name": "analytics", "children": [{"name": "cluster", "children": [{"name": "AgglomerativeCluster", "size": 3938}, {"name": "CommunityStructure", "size": 3812}, {"name": "HierarchicalCluster", "size": 6714}, etc
群集创建过程中出现以下错误:“Uncaught TypeError:无法设置未定义的属性'depth'”

因此d3.json不是合适的构造。我想这必须改成

var flare = [{"name": "flare", "children": [{"name": "analyti ...

var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height)
.append("g")
.attr("transform", "translate(40,0)");

var nodes = cluster.nodes( flare ),
  links = cluster.links(nodes);

var link = svg.selectAll(".link")
  .data(links)
.enter().append("path")

我遇到了同样的错误,因为我试图在没有正确设置宽度和高度的情况下定义一个包布局

如果您的
集群
变量定义如下:

var cluster = d3.layout.pack()
  .size([width, height])
  .value(function(d) {
    return d.values;
  });
那应该对你有用<代码>d。值
指的是尺寸(数字)


我相信flare也需要是一个对象而不是数组。

?d3.json将URL作为参数,而不是javascript数组。看见
var cluster = d3.layout.pack()
  .size([width, height])
  .value(function(d) {
    return d.values;
  });