2010-03-01 64 views
11

我需要可視化相對較大的圖(6K節點,8K邊緣),其具有以下性質:羣集圖形可視化技術

  • 不同的集羣。每簇和中度互連性約50-100節點在集羣級別
  • 最小(5-10每簇羣集間邊緣)的簇之間的互連性

讓整體邊緣重疊=邊緣重疊通過直接可視化引起集羣的圖形= {A,B,C,D,E},邊緣=這些集羣的邊緣,這是非平面的,並且如果直接繪製它將肯定會產生邊緣重疊}

讓本地邊緣重疊=上面,但{A,B,C,D,E}只是節點。

我需要可視化與上述圖表在滿足下列要求

  • 沒有整體邊緣重疊的方式(即,邊緣重疊由羣集間性質引起的不好)
  • 本地邊緣重疊在一個集羣內是好的

任何人都有想法如何最好地可視化圖形與上述要求?

我已經想出了一個解決全局邊緣重疊的解決方案,以確保在可視化過程中A羣最多隻能有1個直接邊緣到另一個羣(B)。羣集A→C,A→D ......之間的任何其他羣集間邊緣斷開連接,並且附加節點/邊緣A→A_C,C→C_A,A→A_D,D→D_A ......被創建。

任何人有任何想法?

+0

我有點困惑,你爲什麼想在連接第一條邊後斷開一個簇到另一個簇的邊緣。你是否說你正在斷開其他邊緣,因爲該組羣完全連接,因此你不需要表示剩下的連接?如果是這樣,你爲什麼不走出更進一步的抽象層,並擁有完全連接的集羣? –

回答

1

Prefuse有一些很好的圖形link text內置的算法,它似乎處理相當好的相當大的圖。您可以嘗試在Prefuse之上構建的Flow Map Layout

0

我還沒有看到太多的圖形可視化工具,它們支持在圖形中以可視方式分離集羣。一種選擇可能是看看WilmaScope。它看起來對基於集羣的佈局有一定的支持。

1

鑑於你的目標,我認爲Fruchterman-Reingold algorithm做了一個相當不錯的工作,防止邊緣重疊。例如,參見使用Fruchterman-Reingold算法繪製的由多個部件組成的網絡的這個screenshotIGraph內置了對該算法的支持(我相信Networkx),並且速度非常快。

+0

我嘗試了FR佈局,並決定最終不去。 FR有一種傾向,即佔用節點的每個可用空間,並且總體上會導致混亂。我嘗試過的最佳局部佈局是YiFanHu的Multilevel,其次是ForceAtlas。 另外,我上面的問題是關於全局羣集可視化技術:) – jameszhao00

0

有機佈局在yFiles框架中管理相當好的集羣圖。先嚐試yEd,看看它是否需要。爲每個羣集使用嵌套圖別名組可能是合理的。有機佈局具有稱爲組佈局策略的特徵,如果佈局需要使用集羣內和集羣內邊緣的不同原則進行佈局,則可以使用佈局策略。通過一些努力,可以將圖表轉換爲GraphML以避免手動工作。

1

在Prefuse的頂部有一個名爲SocialAction的程序。您必須從作者處請求代碼,但它會爲您在圖表上進行大量統計分析,例如識別子圖。我在一個有超過18,000個節點的圖上使用它,儘管它在這個尺度上非常緩慢,但它仍然有效。