2016-03-07 181 views
2

我的應用程序及提供訪問這些應用程序的服務器的列表數據的可視化組數據的技術,也有大量的交叉,例如:使用d3.js

Servers 01-09 provide App A, App, B 
Servers 05-09 provide App C 
Servers 10-14 also provide App A 

目前我在一張紙上畫了很多帶有服務器和應用程序列表的框,並將它們分組到運行相同應用程序的服務器中。使用上面的示例:標記爲01-09的框與App A和App B一起寫入並與另一個標記爲05-09的框重疊,其中寫入App C.

我想將其轉換爲由d3(我也在學習d3)提供的可視化,我可以在網站上顯示。我心中有一種超級venn diagram什麼的?目標是輕鬆查看運行相同應用程序的服務器組。

是否有其他人有過這種可視化問題 - 您使用了哪些技術? d3內置了什麼,可以在這種情況下使用?

回答

1

對我來說,要做到這一點最簡單的方法是在一個表,因爲你只有兩個維度:

| Server | App A | App B | App C | 
|--------------------------------| 
| 01  | X |  |  | 
| 02  |  |  |  | 
etc 

如果你在d3.js(相當合理)設置,我會用一個Co-occurrence graph垂直服務器和水平應用。

或者,您可以嘗試使用labelled force,應用程序具有一種形狀,服務器具有另一種形狀。我不認爲它像桌子一樣可讀!

+0

服務器和應用程序的數量會讓每個服務器的表一目瞭然,我喜歡共現圖的外觀,特別是可以將它分類爲羣集 - 我期待的可視化效果對於。我同意標註的力圖不可讀。 – JabbaWook

+0

您可以爭辯說,有2個以上的維度(運行相同應用程序的服務器的數量 - 即運行應用程序A的01-09可以與作爲另一維度的服務器數量分組在一起)? – JabbaWook

+1

啊。如果你有很多這些,那麼過濾一張桌子是很好的。關於表格的好處還在於,您可以輕鬆地爲那些喜歡使用Excel探索數據的人導出CSV導出。同現也可以做到這一點(也是我最喜歡的解決方案)。 回覆:維度:我理解他們是衡量一個方向。你有兩個措施:服務器和應用程序。分組創建一個「子流形」,但它仍然是一個維度。 –

1

在這種情況下的一個選項是使用二分圖可視化。

https://en.wikipedia.org/wiki/Bipartite_graph

二部圖的,你有兩個不同的集合,其中有一組相同的成員以及所有邊緣之間沒有邊是從一組到另一個節點的圖表。

在這裏,您可以將應用程序(A,B,C等)作爲一個集合,將服務器(01-14)作爲另一個集合。

此外,它取決於您想要通過此可視化實現的目標。例如,如果您的意圖是顯示並比較運行應用程序的服務器數量的服務器負載,則可以使用節點的大小對其進行編碼。