0
我在屏幕上的圖表和所有需要的是在一個名爲jsonData
變量,這是我的方式,以避免在服務器上單獨存儲的JSON文件中的數據。 現在jsonData
包含超過我真的想在一開始就顯示出,所以我必須選擇所需要的節點。 這個想法是有一個根節點,並顯示所有與它直接相連的節點以及它們之間的連接。 有沒有簡單的可能性來做到這一點? 也許我可以改線需要圖形D3接節點
var node = svg.selectAll(".node")
.data(jsonData.nodes)
.enter().append("g")
.attr("class", "node")
.call(force.drag);
,因爲它並不需要選擇所有的人,但我怎麼能挑那些需要的? 我在背景中有一個數組,包含所有需要的鏈接,我要寫一個將存儲連接節點的部分。 我不能直接給這個新陣的svg.selectAll
-part,否則鏈接將崩潰(他們指的是節點的數量由它的更大的陣列中的原始位置)。 關於這個的任何提示?我無法通過谷歌搜索找到任何此類示例,但如果您可以在網絡中查找某些內容,請隨時通過鏈接回答!
由於提前, 大衛
所以基本上是這樣的。不使用jsonData.nodes作爲數據,而是使用變量並且收集那些變量中的節點。基本上你可以有一個回調函數來設置該變量中的數據,並且只需要執行svg.selectAll(「。node」)。data(myVar)。現在,你如何準確地挑選這些節點是業務:某些值的那些是我的猜測...... – paxRoman
你是對的,這似乎是要走的路。但是,我怎樣才能修復後的鏈接? 「{」source「:16,」target「:7,」value「:4}'還有一些鏈接,其中'source'和'target'指向舊數組中的位置。 – David
當然你也是這樣做的......對於鏈接,你將使用另一個鏈接列表(鏈接數組),將其分配給與你的力指向佈局有關的鏈接列表......(因爲我認爲我們會講導向力)......但是在這裏,你將不得不決定如何添加這些鏈接,因爲在我的經驗,一個鏈接,該鏈接已經在屏幕上並不需要重新繪製的...你將有很多有趣的嘗試得到這個權利,但最終我猜你會成功......鏈接只是具有2個屬性的對象:源和目標...你必須小心有向和無向圖 – paxRoman