2013-08-01 109 views
0

我一直在電進入D3,看着邁克·博斯托克和其他人我能找到樣本,對文檔的刷牙,甚至交互式數據可視化 - 一本關於D3的書,由Scott Murray撰寫。D3:我的路似乎加倍了,我想不通爲什麼

我目前工作的連接圖上,和我開始明白,足以承擔這一切都超出了從樣品只是改變了數據,但我遇到了一些問題,仍然是我想不通出。

這裏是我的樣品鏈接, http://www.nogumallowed.com/test4.php

這是我的數據, http://www.nogumallowed.com/userImages/friendData1.JSON

該樣品有7人,其餘的都是來自Facebook都喜歡。該圖表顯示了用戶之間的喜歡的交集。我的問題是路徑,似乎我加了必要的路徑的兩倍,我不知道爲什麼。我仍然熟悉enter函數,以及選擇不在DOM中的東西來將它放置在DOM中。

只是從代碼中進行計算,應該有115條路徑,但我一直在生成230條路徑。

我仍然足夠新D3,對我的生活,我不能出去,現在明白這一個。

我想什麼來完成......在創建漸變,當它連接到用戶,並且起始位置應該是藍色然後又各種顏色都喜歡的。從我放在一起的代碼中,我不認爲應該有一些不是以藍色開始的用戶,並且用戶不應該有一個與它們不相符的線條,但在底部不是藍色的,但是正如你所看到的,我遇到了這個問題。


編輯:我發現我的問題是不是抓住不正確的路徑,它具有A和B的連接,不知道這點是第一位的路徑。如果我想讓連接A的路徑始終爲藍色,並且路徑B上的連接始終爲綠色,則我無法檢測到超出此路徑的簡單源A和B的目標I不知道哪個真的會先來。我正在更新我的示例腳本到更輕的版本以查看此內容。

在這個例子中,7用戶名應該總是從他們的藍色來了,一切應該始終有紅色來自他們,但你可以看到,這是絕對不總是如此。這是我目前處於虧損狀態的地方。

回答

0

它看起來像你的數據文件實際上包含230個鏈接:

var n = 0; 
classes.forEach(function(d) { n = n + d.imports.length; }); 
// n == 230 

你也有與數據的同名項目(例如類[8] ABD類[115]) - 可能是它導致到一些混淆

+0

我想那麼可以肯定地說我可能構造錯誤的數據。我的基本理解是,我需要每個項目的JSON記錄,然後在導入時,這些記錄必須與主項目匹配。我很漂亮嗎?在我這裏的設計中,連接只能來自「朋友」類別中的記錄,並與其他元素接觸,但似乎他們正在翻倍。 –

+0

我清理了我的數據,我曾提出,將已經消除重複的變化,這是不正常再 –

+0

仍有雖然 –

相關問題