2011-12-06 41 views
1

我決定學習DOT語言,看起來棒極了。我決定做一個項目,爲RPM建立一個圖表。我掃描所有配方以構建RPM軟件包,並添加有關所需修補程序和導入的信息。目前我的圖形有500個以下的節點和1600多個邊緣,其大小應該穩定在+/- 50-100個節點/邊緣。製作圖人性化/可讀性(500節點,1600條邊)

這是我現在有:

前兩個都有點最後一個可讀性更高。

詳情:

  • 包是在黑色邊框的盒子。
  • 修補程序在橙色邊框+橙色邊緣。
  • 進口位於紅色邊框+紅色邊緣。
  • 沒有單根包節點。我們可以說有幾個頂級(根)包節點,4-10個節點包(節點),它們導入了大部分包。
  • 有獨立的軟件包(節點),不依賴和不依賴於它們。
  • 修補程序只能(大部分)由單個程序包節點使用。
  • 並非所有軟件包節點都有修補程序。我會說小部分包節點有它們。
  • 導入文件可以包含在包節點的大部分中(例如,所有包節點的1/3)。
  • 我有rankdir =「TB」(Top-Bottom)
  • 我增加了邊緣的重量(package - > patch)。這應該意味着補丁節點更接近它們的軟件包節點。
  • 最好最小化覆蓋節點的邊的數量。這使得圖很難讀。

在這種情況下對圖形佈局配置和算法使用有何建議?

+0

在代碼中,多少次迭代,你用?對我而言,第一個版本是最好的,也是我用於更大圖表的工具。我一直都陷入困境,因爲即使更多的迭代意味着更多的可讀性,也意味着更多的時間來渲染。 – MJB

回答

0

令人印象深刻的圖! 我會嘗試會發生什麼,如果你

  • 給邊緣有點透明
  • 實際上使他們多一點的時間。我知道這會使圖形變得更大,但它可以使視覺更清晰一些,例如,如果打印它,縮小的字體大小可能會由更好的結構決定。
  • 用輕度版本的邊框填充節點。
  • 使節點非常小,只給它們索引號。然後創建一個與實際內容匹配的顏色+索引號的圖例。這可能會違背圖表的目的,但仍然值得嘗試。對於初學者來說,只需將標籤省略並製作出小小的彩色圓圈即可。不要花太長時間,最終可能會看到一些以前看不到的結構特性。如果您發現任何有用的信息,請儘可能減少節點上的信息,直到找到合適的折衷爲止。

哦,我從來沒有設法保持GraphViz的從策劃了節點的邊要麼...