0

我目前正在尝试自定义这样的示例... http://bl.ocks.org/1377729以使用 D3.json 函数获取 json 数据。

目前我一直在尝试这样做:

     d3.json("http:", function(json) { 

     var nodes = [];
     var labelAnchors = [];

在这里我试图导入函数,但它没有做任何事情

     for(var i = 0; i < 30; i++) {


            var node = json;
            nodes.push(node);
            labelAnchors.push({
                node : node
            });
            labelAnchors.push({
                node : node
            });
        };

我也尝试将函数放入 .text 函数中

     anchorNode.append("svg:text")
            .text(function(d, i) {return i % 2 == 0 ? "" : d.node.json  })
            .style("fill", "#555")
            .style("font-family", "Arial")
            .style("font-size", 12);

谁能告诉我我要去哪里错了!

4

1 回答 1

0

首先通过逐步遍历您的 json 数组来构建节点数组和 labelAnchors 数组。

   for (var i = 0; i < json.length; i++) {
     var node = json[i];
     nodes.push(node);
     labelAnchors.push({
       node : node
     });
     labelAnchors.push({
       node : node
     });
   };

该示例依赖于具有名为 的键的对象label,而在您的情况下,该键被称为Name。因此,您需要将示例代码调整为:

anchorNode.append("svg:text")
    .text(function(d, i) {
      return i % 2 == 0 ? "" : d.node.Name;
    })
    .style("fill", "#555")
    .style("font-family", "Arial")
    .style("font-size", 12);
于 2012-10-30T00:15:16.700 回答