2011-12-06 3 views
1

私はDOT言語を学ぶことにしました。私はRPM構築のためのグラフを作るためのプロジェクトを作ることにしました。私はすべてのレシピをスキャンしてRPMパッケージを作成し、必要なパッチとインポートに関する情報も追加します。現在のところ私のグラフは500ノード以下、1600以上のエッジを持ち、サイズは安定した+/- 50-100ノード/エッジでなければなりません。ここグラフを人間にやさしく見えるようにする(500ノード、1600エッジ)

私は今持っているものである。

最初の2つのビットであります最後の方が読みやすくなります。

詳細:

  • パッケージは、黒のボーダーボックスです。
  • パッチはオレンジ色の枠線付きボックス+オレンジ色のエッジにあります。
  • インポートは赤い枠線のボックス+赤いエッジです。
  • 単一のルートパッケージノードはありません。ほとんどのパッケージをインポートするいくつかのトップレベル(ルート)パッケージノード、4〜10ノードのパッケージ(ノード)があると言えます。
  • スタンドアロンパッケージ(ノード)はありますが、依存関係はありません。依存関係は依存しません。
  • パッチは、単一のパッケージノードでのみ(ほとんど)使用できます。
  • すべてのパッケージノードにパッチがあるわけではありません。私は、パッケージノードのうちのほんの一部にそれらがあると言います。
  • インポートファイルは、パッケージノードの大部分(たとえば、すべてのパッケージノードの1/3)に含めることができます。
  • 私はrankdir = "TB"(トップボトム)
  • 私はエッジ(パッケージ - >パッチ)の重量を増やしました。これは、パッチノードがパッケージノードに近いことを意味するはずです。
  • ノードをオーバーレイするエッジの数を最小限に抑えるのがよいでしょう。これにより、グラフがたくさん読めなくなります。

この場合、グラフレイアウトの設定とアルゴリズムの使用についてのご意見はありますか?

+0

...いずれかのノードの上にプロットするエッジからGraphVizをを維持するために管理したことがありません、あなたはどのように多くの反復を使用していますか?私にとっては、最初のバージョンが最高ですが、私が大きな図に使用したツールでもあります。私はいつも立ち往生してきました。なぜなら、反復回数が多いほど読みやすさが増しますが、レンダリングする時間が増えるからです。 – MJB

答えて

0

印象的なグラフ! あなたが

  • 縁部
  • が実際に少し長くそれらを作る、透明性のビットを与える場合、私は何が起こるかをしようとするだろう。グラフをさらに大きくするのは分かりますが、視覚的には少しはっきりしています。たとえば、印刷する場合は、フォントサイズを小さくすると構造がよく見えるようになります。
  • ノードに明るいバージョンの境界線を塗りつぶします。
  • ノードを非常に小さくし、インデックス番号だけを与えます。次に、実際のコンテンツと一致する凡例を作成します。それはあなたのグラフの目的に反するかもしれませんが、やはり試してみる価値があります。まず、ラベルを外して、小さな、色のついた円を作るだけです。あまりにも長くかかりすぎてはいけません。以前は目に見えなかった構造的性質がいくつか見えてしまうかもしれません。役に立つものが見つかった場合は、良いトレードオフを見つけるまで、可能な限りノード上の情報をバックアップしてください。

ああ、私はあなたのコードでは

関連する問題