1

私は DOT 言語を学ぶことにしました。これは素晴らしいと思います。RPM 構築用のグラフを作成するためのプロジェクトを作成することにしました。すべてのレシピをスキャンして RPM パッケージをビルドし、必要なパッチとインポートに関する情報も追加します。現在、私のグラフには 500 未満のノードと 1600 を超えるエッジがあり、サイズは時々安定している +/- 50-100 ノード/エッジである必要があります。

これが私が今持っているものです:

最初の 2 つは、最後の 1 つよりも少し読みやすくなっています。

詳細:

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

この場合、グラフ レイアウトの構成とアルゴリズムの使用に関する提案はありますか?

4

1 に答える 1

0

印象的なグラフ!私はあなたがどうなるか試してみます

  • エッジに少し透明度を与える
  • 実際にはもう少し長くしてください。これによりグラフがさらに大きくなることはわかっていますが、視覚的に少し明確になる可能性があります。たとえば、印刷する場合、最終的に縮小されたフォントサイズは、構造がより良く見えることによって相殺される可能性があります.
  • ノードをそれらの境界線の軽いバージョンで塗りつぶします。
  • ノードを非常に小さくし、インデックス番号のみを与えます。次に、実際のコンテンツに色 + インデックス番号を一致させる凡例を作成します。それはグラフの目的に反するかもしれませんが、それでも試してみる価値はあります。手始めに、ラベルを省略して小さな色付きの円を作成します。あまり時間をかけるべきではありません。これまでに見られなかった構造特性がいくつか見られる可能性があります。何か有用なものが見つかった場合は、適切なトレードオフが見つかるまで、ノード上の情報をできるだけ少なくしてください。

ああ、GraphViz がノード上にエッジをプロットしないようにすることはできませんでした...

于 2011-12-21T16:07:57.867 に答える