没有flare.json的D3可折叠树

D3 collapsible trees without flare.json

本文关键字:可折叠 D3 flare json 没有      更新时间:2023-09-26

我正在尝试将可折叠树与可视化工具集成:

http://bl.ocks.org/robschmuecker/7880033

谁能告诉我如何使这个代码运行没有耀斑。json文件。我有json格式的数据,我需要使用json输出使此代码运行。我所拥有的将字符串转换为json格式的代码如下:

<html>
<body>
<script>
//example dat
var str = "Charles Johnson't4184'nCharles Johnson-Donald Williams't8385'nCharles Johnson-Donald Williams-Daniel Fertig't428'nCharles Johnson-Donald Williams-Daniel Fertig-Lino Walling't1091'nCharles Johnson-Donald Williams-Daniel Fertig-Lino Walling-Jim Cooke't318";
var lines = str.split("'n");
var name_ = lines[0].split("'t")[0];
var val_ = lines[0].split("'t")[1];
//alert(val_);
var obj = {name:     name_,
           children: [],
           value:    val_};
//process all lines
for (var i=1;i<lines.length;i++) {
  var addr = lines[i].split("'t")[0].split("-");
  var val = lines[i].split("'t")[1];
  //alert(val);
  var local_obj  = obj;
  var recursive_obj;
  //alert(addr.length);
  for (var j=1;j<addr.length;j++) {
    recursive_obj = null;
    for (var k=0;k<local_obj.children.length;k++) {   //Doest get used for first instance
      if (local_obj.children[k].name==addr[j]) {
        recursive_obj=local_obj.children[k];
      }
    }
    if (recursive_obj==null) {
      recursive_obj = {name:     addr[j],
                       children: [],
                       value:    null
                      };
      local_obj.children.push(recursive_obj);
    }   
    local_obj=recursive_obj;
  }
  recursive_obj.value=val;
}
//print a json result
alert(JSON.stringify(obj));
</script>

 </body>
 </html>

此代码将字符串转换为Json格式。谁能帮我用这个代码代替

treeJSON = d3.json("flare.json", function(error, treeData){}

并使可折叠树运行。如果有人能帮助我,我将非常感激。谢谢你:)

致以最亲切的问候穆罕默德

<!DOCTYPE html>
<meta charset="utf-8">
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script src="try.js"></script>
<body>
    <div id="tree-container"></div>
</body>
</html>

现在您有obj,它已经是一个对象,类似于treeData需要在d3.json函数的回调中。您可以从该函数中取出所有内容,从以下内容进行转换:

d3.json("flare.json", function(error, treeData){
  //Do some stuff with treeData
})

:

var treeData = obj;
//Do some stuff with treeData;

工作小提琴:小提琴