2014-09-22 51 views
0

我目前正在使用D3.js的可視化Treemap,並希望瞭解如何組織示例中使用的flare.json。 json輸入文件的格式是否需要與示例中使用的完全相同的結構。我有一個來自網頁抓取工具的輸入文件,其中包含網址列表及其各自的父網址。我嘗試使用類似以下的東西,但它不會工作,並不確定它是否只是不同或其他結構。D3.js樹形圖可視化的JSON火炬輸入的結構

listURLs.json:

{ 
"name": "flare", 
"children": [ 
    {"children":"http:\/\/a.wholelottanothing.org","name":"http:\/\/buzz.blogger.com"},    
    {"children":"http:\/\/www.bitworking.org","name":"http:\/\/buzz.blogger.com"}, 
    {"children":"http:\/\/blog.computationalcomplexity.org","name":"http:\/\/buzz.blogger.com"}, 
    {"children":"http:\/\/www.blogactionday.org","name":"http:\/\/buzz.blogger.com"}, 
    {"children":"http:\/\/www.wikipaintings.org","name":"http:\/\/littlegreeniguana.blogspot.com"} 
    ] 
} 

我知道這看起來非常不同,在本例中使用的flare.json但可以這項工作?另外,我正在使用的輸入不包括'size'參數,這也可能是輸出爲空的原因。我如何在這裏使用尺寸?它可以在代碼中稍後動態調整嗎?任何幫助將不勝感激,我是D3 novie!

+0

這【答案】(http://stackoverflow.com/questions/18322327/d3-treemap-json-data-format )當我遇到類似的問題時,這種幫助很大 – 2014-09-22 19:09:53

回答

1

樹,包和其他D3層次佈局所期望的分層數據格式期望「children」是對象數組,並遍歷該分層數據,以準備使用佈局來顯示對象的格式。因此,您不希望使用「children」存儲單個鏈接,而是希望它存儲與父對象格式化的對象數組(即使該數組中只有一個對象)。要掌握你要在數據集中顯示的內容有點困難,但我的猜測是所有這些網站都在buzz.blogger.com之下,除了最後一個,在這種情況下正確格式化的分層數據看起來像這樣(注意一切都嵌套在一個根節點,您可以命名任何你想要的):

{ 
"name": "root node", 
"children": [ 
    {"name":"http:\/\/buzz.blogger.com", "children": [ 
    {"name": "http:\/\/www.bitworking.org"}, 
    {"name": "http:\/\/blog.computationalcomplexity.org"}, 
    {"name": "http:\/\/www.blogactionday.org"} 
    ] 
    }, 
    {"name":"http:\/\/littlegreeniguana.blogspot.com", "children": [ 
    {"name": "http:\/\/www.wikipaintings.org"} 
    ] 
    } 
] 
}