簡體   English   中英

沒有flare.json的D3可折疊樹

[英]D3 collapsible trees without flare.json

我正在嘗試將可折疊樹與可視化工具集成在一起:

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

有人可以告訴我如何在沒有flare.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;

工作小提琴: 小提琴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM