web-dev-qa-db-ja.com

Graphviz、エッジのサイズを変更

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

81
name

シュヴァロフの答えを補足したかった。 penwidthは確かに正しいコマンドです。さらに、shuvalovの答えではpenwidthbothノードとEdgeプロパティです-これも正しいです。

私が作りたかった区別:

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

  • penwidth、Edgeプロパティとして使用すると、Edgeの線の太さに影響します(デフォルト値は「1」、penwidth = 2を指定すると、Edgeはboldに表示されますタイプ

  • edgeの線の太さを変更する場合、そのEdgeで接続されている2つのノードのpenwidthを変更する必要はありません(shuvalevの答えが示唆するように)

  • 有向グラフ(エッジには方向があります)の場合、arrowheadおよびarrowtailのサイズ/重量も変更したい場合があります。 エッジの重み

  • edgeのlengthweightプロパティを設定することで変更できます。他の場所では、デフォルト値は1.0です。この値を大きくすると、レンダリング中にこのEdgeを引き伸ばすコストが増加します(つまり、描画アルゴリズムは、このEdgeが長いソリューションに高いペナルティを適用します)。 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.]
}

enter image description here

123
doug

これを試して:

"NodeA" [ penwidth = 5]
"NodeB" [ penwidth = 5]
NodeA->NodeB [ penwidth = 3]
20
shuvalov