在d3.js中嵌入json文件(d3.layout.partition)

时间:2014-06-30 08:51:20

标签: javascript json d3.js

我正在使用这个: http://mbostock.github.io/d3/talk/20111018/partition.html

而不是d3.json(“flare.json”,function(root){

如何让它使用html中的json文件,比如说我有

var json = [{
"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}
]
},  

我想使用它而不是外部json文件,我该如何实现?

链接到json文件:http://mbostock.github.io/d3/talk/20111018/flare.json

请问任何JSFiddle示例?

谢谢。

1 个答案:

答案 0 :(得分:2)

您将通过两种方法实现此目的

1.您可以将JSON数据分配给变量名称然后您可以构建任何布局

2.使用一个函数获取JSON数据

Fiddle 1个解决方案

var root = json;
对于2解决方案

Fiddle

var root = getData();
  var g = vis.selectAll("g")
      .data(partition.nodes(root))
    .enter().append("svg:g")
      .attr("transform", function(d) { return "translate(" + x(d.y) + "," + y(d.x) + ")"; })
      .on("click", click);