102

ドット(graphviz)でエッジのサイズを変更するには? いくつかのエッジを「太字」にしたいと思います。

4

2 に答える 2

149

シュバロフの答えを補足したかったのです。penwidthは確かに正しいコマンドです。さらに、shuvalovの回答で、ペン幅はノードとエッジの両方のプロパティであり、これも正しいです。

私が作りたかった違い:

  • penwidthがノード プロパティとして使用された場合 (例: "NodeA" [penwidth = 5])、そのノードの境界線の太さに影響します。

  • penwidthは、エッジ プロパティとして使用すると、エッジの線の太さに影響します (デフォルト値は「1」です。penwidth=2 を指定すると、エッジが太字で表示されます

  • エッジの線の太さを変更する場合は、そのエッジで接続されている 2 つのノードのペン幅を変更する必要はありません ( shuvalevの回答が示唆するように)。

  • 有向グラフ(エッジには方向があります) の場合、 3 つすべてが比例するように、 arrowheadarrowtailのサイズ/重みをエッジの重みとともに変更することもできます。

  • エッジの長さはweightプロパティを設定することで変更できます。他の場所と同様に、デフォルト値は 1.0 です。この値を大きくすると、レンダリング中にこのエッジを伸ばすコストが増加します (つまり、描画アルゴリズムは、このエッジが長いソリューションに高いペナルティを適用します)。1 から 4 までのエッジが 1 から 2 までのエッジよりも短いことに注意してください。

次のコードは、これらすべてを示しています。レンダリングされたグラフは、コードの下に表示されます。

digraph {
    /* declare the node & style them */
    "Node 1" [shape=diamond, penwidth=3, style=filled, fillcolor="#FCD975"];
    "Node 2" [style=filled,fillcolor="#9ACEEB" ];
    "Node 3" [shape=diamond, style=filled, fillcolor="#FCD975" ];
    "Node 4" [style=filled, fillcolor="#9ACEEB" ]

    /* declare the edges & style them */
    "Node 1" -> "Node 2" [dir=none, weight=1, penwidth=3] ;
    "Node 1" -> "Node 3" [dir=none, color="#9ACEEB"] ;
    "Node 1" -> "Node 4" [arrowsize=.5, weight=2.]
}

ここに画像の説明を入力

于 2010-03-02T14:55:07.840 に答える
25

これを試して:

"NodeA" [ penwidth = 5]
"NodeB" [ penwidth = 5]
NodeA->NodeB [ penwidth = 3]
于 2010-02-25T09:52:26.873 に答える