属性

Graphvizのノードエッジグラフ、サブグラフ、およびクラスタのレイアウトをカスタマイズするための手順です。

以下の表は、様々なGraphvizツールで使用される属性について説明しています。この表には、属性名、属性を使用するグラフコンポーネント(ノード、エッジなど)、属性の種類(その種類に許容される値を表す文字列)を示しています。該当する場合は、属性のデフォルト値、数値属性の最小許容設定、および属性の使用に関する特定の制限も示しています。

属性名は、大文字と小文字が区別されます。特に記載がない限り、属性値についても通常は大文字と小文字が区別されます。

すべてのGraphviz属性は、名前と値のペアで指定されます。したがって、ノード`abc`の`color`を設定するには、次のようにします。

digraph {
  abc [color = red]
}

同様に、エッジ`abc -> def`の矢印のスタイルを設定するには、次のようにします。

digraph {
  abc -> def [arrowhead = diamond]
}

属性の設定に関する詳細は、DOT言語の説明を参照してください。

現在、ほとんどのデバイス非依存単位はインチまたはポイントのいずれかで、1インチを72ポイントとします。

注記: dirarrowtailなどの属性は、無向グラフでDOTを使用する場合、エッジのヘッドとテールが無意味になるため、あいまいになります。慣例として、無向エッジが初めて現れるとき、DOTパーサーは左側のノードをテールノード、右側のノードをヘッドノードとして割り当てます。たとえば、エッジ`A -- B`は、テール`A`とヘッド`B`を持ちます。このようなエッジを一貫して処理するのはユーザーの責任です。エッジが後で、次の形式で表示される場合

graph {
  B -- A [taillabel = "tail"]
}

図面は、テールラベルをノード`A`に付けます。このような属性が必要な場合の混乱を避けるために、ユーザーは有向グラフを使用することをお勧めします。グラフを無向グラフのように表示することが重要であれば、dirarrowtail、またはarrowhead属性を使用して行うことができます。

これらのツールは、`int`型と`double`型に対して標準的なC表現を受け入れます。`bool`型の場合、TRUE値は`true`または`yes`(大文字と小文字は区別されません)およびゼロ以外の整数で表され、FALSE値は`false`または`no`(大文字と小文字は区別されません)およびゼロで表されます。さらに、`arrowType`、`color`、`point`、`rankdir`などの様々な特殊な型があります。これらの型の許容値は最後に記載されています。

使用コンポーネント」列は、属性が適用されるグラフコンポーネントを示しています。

備考」欄では、「書き込み専用」の注釈は、属性が出力に使用され、レイアウトプログラムによって使用または読み取られないことを示しています。

名称 使用コンポーネント デフォルト 最小値 説明、備考
_background グラフ xdot <なし> xdot形式の文字列で、任意の背景を指定します。
area ノード、クラスタ double 1.0 >0 ノードまたは空のクラスタの優先領域を示します。patchworkのみ。
arrowhead エッジ arrowType normal エッジのヘッドノードの矢印のスタイル。
arrowsize エッジ double 1.0 0.0 矢印の倍率。
arrowtail エッジ arrowType normal エッジのテールノードの矢印のスタイル。
bb クラスタ、グラフ rect 図面の境界ボックス(ポイント単位)。書き込み専用。
beautify グラフ bool false sfdpでルートノードの周りに葉ノードを均一に円状に描くかどうか。sfdpのみ。
bgcolor グラフ、クラスタ colorcolorList <なし> キャンバスの背景色。
center グラフ bool false 図面を出力キャンバスの中央に配置するかどうか。
charset グラフ string "UTF-8" 文字列入力をテキストラベルとして解釈する際に使用する文字エンコーディング。
class エッジ、ノード、クラスタ、グラフ string "" ノード、エッジ、グラフ、またはクラスタのSVG要素に添付するクラス名。svgのみ。
cluster クラスタ、サブグラフ bool false サブグラフがクラスタかどうか。
clusterrank グラフ clusterMode local クラスタの処理に使用されるモード。dotのみ。
color エッジ、ノード、クラスタ colorcolorList black グラフィックの基本描画色(テキストではありません)。
colorscheme エッジ、ノード、クラスタ、グラフ string "" カラー・スキーム・ネームスペース:色の名前を解釈するためのコンテキスト。
comment エッジ、ノード、グラフ string "" コメントが出力に挿入されます。
compound グラフ bool false trueの場合、クラスタ間のエッジを許可します。 dot のみ。
concentrate グラフ bool false trueの場合、エッジコンセントレータを使用します。
constraint エッジ bool true falseの場合、エッジはノードのランク付けに使用されません。 dot のみ。
Damping グラフ double 0.99 0.0 力の動きを減衰させる係数です。 neato のみ。
decorate エッジ bool false エッジラベルを線でエッジに接続するかどうか。
defaultdist グラフ double 1+(平均長さ)*sqrt(|V|) epsilon 別々の連結成分内のノード間の距離です。 neato のみ。
dim グラフ int 2 2 レイアウトに使用される次元の数を設定します。 neatofdpsfdp のみ。
dimen グラフ int 2 2 レンダリングに使用される次元の数を設定します。 neatofdpsfdp のみ。
dir エッジ dirType forward(有向)
none(無向)
矢印を描くためのエッジの種類。
diredgeconstraints グラフ 文字列ブール値 false ほとんどのエッジを下向きに制約するかどうか。 neato のみ。
distortion ノード double 0.0 -100.0 shape=polygon の歪み係数。
dpi グラフ double 96.0
0.0
ディスプレイデバイス上の1インチあたりのピクセル数の予想値を指定します。ビットマップ出力、svg のみ。
edgehref エッジ escString "" edgeURLの同義語です。マップ、svg のみ。
edgetarget エッジ escString <なし> edgeURLリンクに使用するブラウザウィンドウです。マップ、svg のみ。
edgetooltip エッジ escString "" エッジのラベル以外の部分に添付されたツールチップ注釈です。 cmapsvg のみ。
edgeURL エッジ escString "" エッジのラベル以外の部分のリンクです。マップ、svg のみ。
epsilon グラフ double .0001 * ノード数(モード == KK)
.0001(モード == major)
.01(モード == sgd)
終了条件です。 neato のみ。
esep グラフ addDoubleaddPoint +3 スプラインエッジルーティングのためにポリゴンの周囲に使用されるマージンです。 neatofdpsfdp、osage、circotwopi のみ。
fillcolor ノード、エッジ、クラスタ colorcolorList lightgrey(ノード)
black(クラスタ)
ノードまたはクラスタの背景を塗りつぶすために使用される色。
fixedsize ノード ブール値文字列 false ノードのサイズを選択するために、指定された幅と高さの属性を使用するかどうか(ノードの内容に合わせてサイズ調整するのではなく)。
fontcolor エッジ、ノード、グラフ、クラスタ color black テキストに使用される色。
fontname エッジ、ノード、グラフ、クラスタ string "Times-Roman" テキストに使用されるフォント。
fontnames グラフ string "" SVG出力において基本的なフォント名をどのように表現するかをユーザーが制御できるようにします。 svg のみ。
fontpath グラフ string <システム依存> libgd がビットマップフォントを検索するために使用するディレクトリリスト。
fontsize エッジ、ノード、グラフ、クラスタ double 14.0 1.0 テキストに使用されるフォントサイズ(ポイント単位)。 in points
forcelabels グラフ bool true xlabelsをすべて配置する(重なっている場合でも)。
gradientangle ノード、クラスタ、グラフ int 0 0 グラデーション塗りつぶしを使用している場合、塗りつぶしの角度を決定します。
group ノード string "" ノードのグループの名前で、交差を避けてエッジをバンドルするためです。 dot のみ。
head_lp エッジ point エッジのヘッドラベルの中心位置です。書き込み専用。
headclip エッジ bool true trueの場合、エッジのヘッドはヘッドノードの境界にクリップされます。
headhref エッジ escString "" headURLの同義語です。マップ、svg のみ。
headlabel エッジ lblString "" エッジのヘッド付近に配置されるテキストラベル。
headport エッジ portPos center エッジのヘッドをヘッドノードのどこに接続するかを示します。
headtarget エッジ escString <なし> headURLリンクに使用するブラウザウィンドウです。マップ、svg のみ。
headtooltip エッジ escString "" エッジのヘッドに添付されたツールチップ注釈です。 cmapsvg のみ。
headURL エッジ escString "" 定義されている場合、headURLはエッジのヘッドラベルの一部として出力されます。マップ、svg のみ。
height ノード double 0.5 0.02 ノードの高さ(インチ単位)。
href グラフ、クラスタ、ノード、エッジ escString "" URLの同義語です。マップ、postscriptsvg のみ。
id グラフ、クラスタ、ノード、エッジ escString "" グラフオブジェクトの識別子です。マップ、postscriptsvg のみ。
image ノード string "" ノード内に表示される画像を含むファイルの名前を指定します。
imagepath グラフ string "" 画像ファイルを探すディレクトリのリスト。
imagepos ノード string "mc" 画像がその包含ノード内でどのように配置されるかを制御します。
imagescale ノード ブール値文字列 false 画像がその包含ノードをどのように塗りつぶすかを制御します。
inputscale グラフ double <なし> 長さ単位間の変換を行うために、入力位置をスケーリングします。 neatofdp のみ。
K グラフ、クラスタ double 0.3 0 仮想物理モデルで使用されるバネ定数です。 fdpsfdp のみ。
label エッジ、ノード、グラフ、クラスタ lblString "\N"(ノード)
""(それ以外)
オブジェクトに添付されたテキストラベル。
label_scheme グラフ int 0 0 名前が|edgelabel|*という形式のノードを、エッジラベルを表す特別なノードとして扱うかどうか。 sfdp のみ。
labelangle エッジ double -25.0 -180.0 極座標におけるヘッドとテールのエッジラベルの角度(度単位)。
labeldistance エッジ double 1.0 0.0 headlabel / taillabelをヘッド / テールノードから離す距離のスケール係数。
labelfloat エッジ bool false trueの場合、エッジラベルの位置の制約を緩めることができます。
labelfontcolor エッジ color black headlabeltaillabelに使用される色。
labelfontname エッジ string "Times-Roman" headlabeltaillabelのフォント。
labelfontsize エッジ double 14.0 1.0 headlabeltaillabelのフォントサイズ。
labelhref エッジ escString "" labelURLの同義語です。マップ、svg のみ。
labeljust グラフ、クラスタ string "c" グラフとクラスタのラベルの揃え。
labelloc ノード、グラフ、クラスタ string "t"(クラスタ)
"b"(ルートグラフ)
"c"(ノード)
ノード、ルートグラフ、クラスタのラベルの垂直方向の位置。
labeltarget エッジ escString <なし> labelURLリンクを開くブラウザウィンドウです。マップ、svg のみ。
labeltooltip エッジ escString "" エッジのラベルに添付されたツールチップ注釈です。 cmapsvg のみ。
labelURL エッジ escString "" 定義されている場合、labelURLはエッジのラベルに使用されるリンクです。マップ、svg のみ。
landscape グラフ bool false trueの場合、グラフは横向きモードでレンダリングされます。
layer エッジ、ノード、クラスタ layerRange "" ノード、エッジ、またはクラスタが存在するレイヤーを指定します。
layerlistsep グラフ string "," layerRange型の属性を範囲のリストに分割するために使用されるセパレータ文字。
layers グラフ layerList "" グラフに添付された、線形に順序付けられたレイヤー名のリスト。
layerselect グラフ layerRange "" 出力するレイヤーのリストを選択します。
layersep グラフ string ":\t " layers属性をレイヤー名のリストに分割するためのセパレータ文字。
layout グラフ string "" 使用するレイアウトエンジン
len エッジ double 1.0(neato)
0.3(fdp)
優先エッジの長さ(インチ単位)。 neatofdp のみ。
levels グラフ int INT_MAX 0.0 多段スキームで許可されるレベルの数です。 sfdp のみ。
levelsgap グラフ double 0.0 neatoレベル制約の厳しさです。 neato のみ。
lhead エッジ string "" エッジの論理的なヘッドです。 dot のみ。
lheight グラフ、クラスタ double グラフまたはクラスタラベルの高さ(インチ単位)。書き込み専用。
linelength グラフ int 128 60 テキスト出力において、文字列が次の行にオーバーフローする長さ。
lp エッジ、グラフ、クラスタ point ラベルの中心位置です。書き込み専用。
ltail エッジ string "" エッジの論理的なテールです。 dot のみ。
lwidth グラフ、クラスタ double グラフまたはクラスタラベルの幅(インチ単位)。書き込み専用。
margin ノード、クラスタ、グラフ 倍精度浮動小数点数 <デバイス依存> グラフの場合、キャンバスのxとyのマージンをインチ単位で設定します。
maxiter グラフ int 100 * ノード数(モード == KK)
200(モード == major)
30(モード == sgd)
600(fdp)
使用される反復回数を設定します。 neatofdp のみ。
mclimit グラフ double 1.0 mincross(mc)エッジ交差最小化パラメータのスケール係数です。 dot のみ。
mindist グラフ double 1.0 0.0 すべてのノード間の最小距離を指定します。 circo のみ。
minlen エッジ int 1 0 最小エッジの長さ(ヘッドとテールのランクの差)。 dot のみ。
mode グラフ string major レイアウトを最適化するための手法です。 neato のみ。
model グラフ string shortpath 入力グラフの距離行列を計算する方法を指定します。 neato のみ。
newrank グラフ bool false クラスタを無視して、単一のグローバルランキングを使用するかどうか。 dot のみ。
nodesep グラフ double 0.25 0.02 dotでは、nodesepは同じランクにある2つの隣接ノード間の最小スペースをインチ単位で指定します。
nojustify グラフ、クラスタ、ノード、エッジ bool false 複数行のテキストを前のテキスト行に対して揃えるかどうか(コンテナの辺に対して揃えるのではなく)。
normalize グラフ 倍精度浮動小数点数ブール値 false 最終レイアウトの座標を正規化します。 neatofdpsfdptwopicirco のみ。
notranslate グラフ bool false レイアウトを原点に移動しないかどうか。 neato のみ。
nslimit グラフ double ネットワークシンプレックスアプリケーションで使用される反復回数を設定します。 dot のみ。
nslimit1 グラフ double ネットワークシンプレックスアプリケーションで使用される反復回数を設定します。 dot のみ。
oneblock グラフ bool false circoグラフを1つの円周上に描くかどうか。 circo のみ。
ordering グラフ、ノード string "" ノードエッジの左右の順序を制約します。 dot のみ。
orientation ノード、グラフ 倍精度浮動小数点数文字列 0.0
""
-360.0 ノードシェイプの回転角度、またはグラフの向き。
outputorder グラフ outputMode breadthfirst ノードとエッジを描画する順序を指定します。
overlap グラフ 文字列ブール値 true ノードの重複を削除するかどうか、およびその方法を決定します。 fdpneatosfdpcircotwopi のみ。
overlap_scaling グラフ double -4 -1e+10 ノードの重複を減らすために、レイアウトを係数でスケーリングします。 prismneatosfdpfdpcircotwopi のみ。
overlap_shrink グラフ bool true 重複除去アルゴリズムが、レイアウトのサイズを縮小するために圧縮パスを実行するかどうか。 prism のみ。
pack グラフ ブール値整数 false グラフの各連結成分を個別にレイアウトし、次にグラフをまとめて配置するかどうか。
packmode グラフ packMode node 連結成分をどのように配置するか。
pad グラフ 倍精度浮動小数点数 0.0555(4ポイント) グラフを描画するために必要な最小面積の周囲に描画領域を拡張するインチ数。
page グラフ 倍精度浮動小数点数 出力ページの幅と高さ(インチ単位)。
pagedir グラフ pagedir BL ページが出力される順序。
pencolor クラスタ color black クラスタの周囲のバウンディングボックスを描画するために使用される色。
penwidth クラスタ、ノード、エッジ double 1.0 0.0 線と曲線を引くために使用されるペンの幅(ポイント単位)を指定します。
peripheries ノード、クラスタ int <シェイプのデフォルト>(ノード)
1(クラスタ)
0 多角形とクラスタ境界で使用される周辺部の数を設定します。
pin ノード bool false ノードを指定された入力位置に保持します。 neatofdpのみ。
pos エッジ、ノード pointsplineType ノードの位置、またはスプライン制御点。 neatofdpのみ。
quadtree グラフ quadTypebool normal 使用するQuadtreeスキーム。 sfdpのみ。
quantum グラフ double 0.0 0.0 quantum > 0.0の場合、ノードラベルの寸法は量子(quantum)の整数倍に丸められます。
rank サブグラフ rankType サブグラフ内のノードに対するランク制約。 dotのみ。
rankdir グラフ rankdir TB グラフレイアウトの方向を設定します。 dotのみ。
ranksep グラフ doubledoubleList 0.5 (dot)
1.0 (twopi)
0.02 ランク間の分離を指定します。 dottwopiのみ。
ratio グラフ 倍精度浮動小数点数文字列 描画のアスペクト比(描画高さ/描画幅)を設定します。
rects ノード rect レコードのフィールドの矩形(ポイント単位)。書き込み専用。
regular ノード bool false 真の場合、多角形を正多角形にします。
remincross グラフ bool true 複数のクラスタがある場合、エッジ交差最小化を2回目に実行するかどうか。 dotのみ。
repulsiveforce グラフ double 1.0 0.0 拡張Fruchterman-Reingoldで使用される反発力の強度。 sfdpのみ。
resolution グラフ double 96.0
0.0
dpiの同義語。ビットマップ出力、svgのみ。
root グラフ、ノード 文字列ブール値 <none> (グラフ)
false (ノード)
レイアウトの中心として使用するノードを指定します。 twopicircoのみ。
rotate グラフ int 0 rotate=90の場合、描画方向を横向きに設定します。
rotation グラフ double 0 最終的なレイアウトを反時計回りに指定された角度だけ回転させます。 sfdpのみ。
samehead エッジ string "" 同じヘッドと同一のsamehead値を持つエッジは、ヘッドの同じ点に向けられます。 dotのみ。
sametail エッジ string "" 同じテールと同一のsametail値を持つエッジは、テールの同じ点に向けられます。 dotのみ。
samplepoints ノード int 8 (出力)
20 (オーバーラップとイメージマップ)
円形/楕円形ノードに使用されるポイント数を指定します。
scale グラフ 倍精度浮動小数点数 初期レイアウト後に、指定された係数でレイアウトを拡大縮小します。 neatotwopiのみ。
searchsize グラフ int 30 ネットワークシンプレックス中に、最小カット値のエッジを探す際に、負のカット値を持つエッジの最大探索数。 dotのみ。
sep グラフ addDoubleaddPoint +4 ノードのオーバーラップを除去する際に、ノードの周囲に残すマージン。 fdpneatosfdp、osage、circotwopiのみ。
shape ノード shape 楕円 ノードの形状を設定します。
shapefile ノード string "" ユーザー提供のノードコンテンツを含むファイル。
showboxes エッジ、ノード、グラフ int 0 0 デバッグのためのガイドボックスを出力します。 dotのみ。
sides ノード int 4 0 shape=polygonの場合の辺の数。
size グラフ 倍精度浮動小数点数 描画の最大幅と高さ(インチ単位)。
skew ノード double 0.0 -100.0 shape=polygonのスキュー係数。
smoothing グラフ smoothType "なし" ノードの不均一な分布を平滑化するために使用される後処理ステップを指定します。 sfdpのみ。
sortv グラフ、クラスタ、ノード int 0 0 packmodeパッキングの順序付けのためのグラフコンポーネントのソート順。
splines グラフ ブール値文字列 エッジがどのように、そしてどのように表現されるかを制御します。
start グラフ startType "" ノードの初期レイアウトを決定するために使用されるパラメータ。 neatofdpsfdpのみ。
style エッジ、ノード、クラスタ、グラフ style "" グラフのコンポーネントのスタイル情報を設定します。
stylesheet グラフ string "" SVG出力で使用されるXMLスタイルシートを指定するURLまたはパス名。 svgのみ。
tail_lp エッジ point エッジのテールのラベルの位置(ポイント単位)。書き込み専用。
tailclip エッジ bool true 真の場合、エッジのテールはテールのノードの境界にクリップされます。
tailhref エッジ escString "" tailURLの同義語。マップ、svgのみ。
taillabel エッジ lblString "" エッジのテール付近に配置されるテキストラベル。
tailport エッジ portPos center エッジのテールをテールのノードのどこに接続するかを示します。
tailtarget エッジ escString <なし> tailURLリンクに使用するブラウザウィンドウ。マップ、svgのみ。
tailtooltip エッジ escString "" エッジのテールに添付されたツールチップ注釈。 cmapsvgのみ。
tailURL エッジ escString "" 定義されている場合、tailURLはエッジのテールのラベルの一部として出力されます。マップ、svgのみ。
target エッジ、ノード、グラフ、クラスタ escStringstring <なし> オブジェクトにURLがある場合、この属性はURLに使用するブラウザのウィンドウを決定します。マップ、svgのみ。
TBbalance グラフ string '' 浮動(ルーズ)ノードを移動するランク。 dotのみ。
tooltip ノード、エッジ、クラスタ、グラフ escString "" ノード、エッジ、クラスタ、またはグラフに添付されたツールチップ(マウスホバーテキスト)。 cmapsvgのみ。
truecolor グラフ bool 内部ビットマップレンダリングがトゥルーカラーカラーモデルに依存するか、使用するかどうか。ビットマップ出力のみ。
URL エッジ、ノード、グラフ、クラスタ escString <なし> デバイス依存出力に組み込まれたハイパーリンク。マップ、postscriptsvgのみ。
vertices ノード pointList ノードの多角形の頂点の座標をインチ単位で設定します。書き込み専用。
viewport グラフ viewPort "" 最終描画のクリッピングウィンドウ。
voro_margin グラフ double 0.05 0.0 Voronoi手法の調整マージン。 neatofdpsfdptwopicircoのみ。
weight エッジ intdouble 1 0(dot,twopi)
1(neato,fdp)
エッジの重み。
width ノード double 0.75 0.01 ノードの幅(インチ単位)。
xdotversion グラフ string 出力で使用されるxdotのバージョンを決定します。 xdotのみ。
xlabel エッジ、ノード lblString "" ノードまたはエッジの外部ラベル。
xlp ノード、エッジ point 外部ラベルの位置(ポイント単位)。書き込み専用。
z ノード double 0.0 -MAXFLOAT
-1000
3Dレイアウトと表示のZ座標値。

_background

xdot形式の文字列で、任意の背景を指定します。

型: xdot、デフォルト: <none>

レンダリング時に、キャンバスは最初にbgcolor属性で説明されているように塗りつぶされます。

次に、_backgroundが定義されている場合、文字列で記述されているグラフィック操作がキャンバス上で実行されます。

詳細はxdot形式ページを参照してください。

背景に赤い四角形をレンダリングします。
digraph G {
  _background="c 7 -#ff0000 p 4 4 4 36 4 36 36 4 36";
  a -> b
}
有効な対象
  • グラフ

Graphvizコードベースで"_background"を検索

area

ノードまたは空のクラスタの推奨領域を示します。

型: double、デフォルト: 1.0、最小値: >0

例:オーストラリアの硬貨、価値に比例した面積
graph {
  layout="patchwork"
  node [style=filled]
  "5c"  [area=  5 fillcolor=silver]
  "10c" [area= 10 fillcolor=silver]
  "20c" [area= 20 fillcolor=silver]
  "50c" [area= 50 fillcolor=silver]
  "$1"  [area=100 fillcolor=gold]
  "$2"  [area=200 fillcolor=gold]
}
有効な対象
  • ノード
  • クラスタ

注:patchworkのみ。

Graphvizコードベースで"area"を検索

arrowhead

エッジのヘッドノードのアローヘッドのスタイル

型: arrowType、デフォルト: normal

これは、dir属性forwardまたはbothの場合にのみ表示されます。

制限を参照してください。

関連項目

有効な対象
  • エッジ

Graphvizコードベースで"arrowhead"を検索

arrowsize

アローヘッドの乗法スケール係数

型: double、デフォルト: 1.0、最小値: 0.0

digraph {
  quiver -> "0.5" [arrowsize=0.5]
  quiver -> "1"
  quiver -> "2" [arrowsize=2]
  quiver -> "3" [arrowsize=3]
}
有効な対象
  • エッジ

Graphvizコードベースで"arrowsize"を検索

arrowtail

エッジのテールノードのアローヘッドのスタイル

型: arrowType、デフォルト: normal

これは、dir属性backまたはbothの場合にのみ表示されます。

制限を参照してください。

関連項目

有効な対象
  • エッジ

Graphvizコードベースで"arrowtail"を検索

bb

ポイント単位の描画のバウンディングボックス

型: rect

有効な対象
  • クラスタ
  • グラフ

注:書き込み専用。

Graphvizコードベースで"bb"を検索

beautify

sfdpでリーフノードをルートノードの周りに円形に均一に描画するかどうか。

型: bool、デフォルト: false

リーフノードをルートノードの周りの円周上に均一に描画しようと試みるかどうか。

Graphviz 8.0.1より前では、Issue 2283の影響を受けます:必要なセクターよりも1つ少ないセクターをレンダリングし、最初と最後のノードがオーバーラップします。

整形
digraph G {
    layout="sfdp"
    beautify=true

    N0 -> {N1; N2; N3; N4; N5; N6}
}
整形なし
digraph G {
    layout="sfdp"
    beautify=false

    N0 -> {N1; N2; N3; N4; N5; N6}
}
有効な対象
  • グラフ

注:sfdpのみ。

Graphvizコードベースで"beautify"を検索

bgcolor

キャンバスの背景色

型: color | colorList、デフォルト: <none>

ルートグラフに付加されると、この色はキャンバス全体の背景色として使用されます。

クラスタ属性の場合、クラスタの初期背景色として使用されます。クラスタに塗りつぶされたstyleがある場合、クラスタのfillcolorが背景色の上に重ねられます。

colorListの値の場合、グラデーション塗りつぶしを使用します。デフォルトでは線形塗りつぶしですが、style=radialを設定すると、放射状塗りつぶしになります。2色のみ使用されます。2番目の色(コロンの後)がない場合、デフォルトの色が使用されます。gradientangle属性を使用してグラデーション角度を設定することもできます。

PostScriptなどの特定の出力形式では、bgcolorが明示的に設定されていない限り、ルートグラフの塗りつぶしは行われません。

ただし、ビットマップ形式ではビットを何かで初期化する必要があるため、キャンバスはデフォルトで白で塗りつぶされます。これは、ビットマップ出力が他のドキュメントに含まれている場合、ビットマップのバウンディングボックス内のすべてのビットが設定され、ページに既に存在する色またはグラフィックが上書きされることを意味します。この効果が望ましくない場合、およびグラフの描画で明示的に割り当てられたビットのみを設定する場合は、bgcolor="transparent"を設定します。

graph {
  bgcolor="lightblue"
  label="Home"
  subgraph cluster_ground_floor {
    bgcolor="lightgreen"
    label="Ground Floor"
    Lounge
    Kitchen
  }
  subgraph cluster_top_floor {
    bgcolor="lightyellow"
    label="Top Floor"
    Bedroom
    Bathroom
  }
}
有効な対象
  • グラフ
  • クラスタ

Graphvizコードベースで"bgcolor"を検索

center

描画を出力キャンバスの中央に配置するかどうか

型: bool、デフォルト: false

trueまたはfalseになります。

有効な対象
  • グラフ

Graphvizコードベースで"center"を検索

charset

文字列入力をテキストラベルとして解釈する際に使用される文字エンコーディング。

型: string、デフォルト: "UTF-8"

デフォルト値は"UTF-8"です。他の有効な値は次のとおりです。

charset属性は大文字と小文字を区別しません。

入力で使用される文字エンコーディングがcharset値と一致しない場合、結果の出力は非常に奇妙になる可能性があることに注意してください。

Big-5エンコーディングと組み合わせてHTMLのようなラベルを使用することはできません。

digraph G {
  charset="UTF-8"
  "🍔" -> "💩"
}
有効な対象
  • グラフ

Graphvizコードベースで"charset"を検索

class

ノード、エッジ、グラフ、またはクラスタのSVG要素に添付するクラス名

型: string、デフォルト: ""

CSSクラス名を使用してSVG出力をスタイル設定するには、stylesheetと組み合わせて使用します。

複数のスペース区切りのクラスがサポートされています。

関連項目

digraph G {
  graph [class="cats"];

  subgraph cluster_big {
    graph [class="big_cats"];

    "Lion" [class="yellow social"];
    "Snow Leopard" [class="white solitary"];
  }
}
有効な対象
  • エッジ
  • ノード
  • クラスタ
  • グラフ

注:svgのみ。

Graphvizコードベースから"class"を検索

cluster

サブグラフがクラスタかどうか

型: bool、デフォルト: false

サブグラフクラスタは異なる方法でレンダリングされます。たとえば、dotはサブグラフクラスタの周りにボックスを描画しますが、非サブグラフクラスタの周りにボックスは描画しません。

digraph cats {
  subgraph cluster_big_cats {
    // This subgraph is a cluster, because the name begins with "cluster"
    
    "Lion";
    "Snow Leopard";
  }

  subgraph domestic_cats {
    // This subgraph is also a cluster, because cluster=true.
    cluster=true;

    "Siamese";
    "Persian";
  }

  subgraph not_a_cluster {
    // This subgraph is not a cluster, because it doesn't start with "cluster",
    // nor sets cluster=true.
    
    "Wildcat";
  }
}
有効な対象
  • クラスタ
  • サブグラフ

Graphvizコードベースから"cluster"を検索

clusterrank

クラスタ処理に使用されるモード

型: clusterMode、デフォルト: local

clusterrank=localの場合、名前がclusterで始まるサブグラフは特別な処理を受けます。

サブグラフは別々にレイアウトされ、次に単位として親グラフに統合され、その周りにバウンディング矩形が描画されます。クラスタにlabelパラメータがある場合、このラベルは矩形内に表示されます。

また、クラスタの中にクラスタを含めることもできます。

clusterrank=globalclusterrank=noneのモードは同一であり、どちらも特別なクラスタ処理をオフにします。

有効な対象
  • グラフ

注: dotのみ。

Graphvizコードベースから"clusterrank"を検索

color

グラフィックの基本的な描画色(テキストではない)

型: color | colorList、デフォルト: black

後者の場合、fontcolor属性を使用します。

エッジの場合、値は単一の色またはcolorListのいずれかになります。

後者の場合、colorListに割合がない場合、エッジは並列スプラインまたは線を使用して描画され、リスト内の各色が指定された順序で描画されます。

ヘッドアロー(もしあれば)はリストの最初の色を使用して描画され、テイルアロー(もしあれば)は2番目の色を使用して描画されます。これは、反対方向のエッジを描画する一般的なケースをサポートしますが、別々にルーティングされたマルチエッジの代わりに並列スプラインを使用します。

割合が使用されている場合、色は連続して描画され、各色にはエッジのおおよそ指定された割合が与えられます。

たとえば、次のグラフ

エッジ色の例
digraph G {
  a -> b [dir=both color="red:blue"]
  c -> d [dir=none color="green:red;0.25:blue"]
}

は次のようになります。

サブグラフとノードの色の例
digraph G {
  subgraph cluster_yellow {
    color="yellow"
    a [color="red"]
    b [color="green"]
  }
}

は次のようになります。

関連項目

有効な対象
  • エッジ
  • ノード
  • クラスタ

Graphvizコードベースから"color"を検索

colorscheme

カラースキームの名前空間:色の名前を解釈するためのコンテキスト

型: string、デフォルト: ""

特に、colorの値が"xxx"または"//xxx"形式の場合、色xxxは現在のカラースキームに従って評価されます。カラースキームが設定されていない場合、標準のX11命名が使用されます。

たとえば、colorscheme=oranges9Brewerカラースキームから)の場合、color=7color="/oranges9/7"、つまりoranges9カラースキームの7番目の色として解釈されます。

オレンジカラースキーム
graph {
  node [colorscheme=oranges9] # Apply colorscheme to all nodes
  1 [color=1]
  2 [color=2]
  3 [color=3]
  4 [color=4]
  5 [color=5]
  6 [color=6]
  7 [color=7]
  8 [color=8]
  9 [color=9]
}
グリーンカラースキーム
graph {
  node [colorscheme=greens9] # Apply colorscheme to all nodes
  1 [color=1]
  2 [color=2]
  3 [color=3]
  4 [color=4]
  5 [color=5]
  6 [color=6]
  7 [color=7]
  8 [color=8]
  9 [color=9]
}

関連項目

有効な対象
  • エッジ
  • ノード
  • クラスタ
  • グラフ

Graphvizコードベースから"colorscheme"を検索

comment

コメントが出力に挿入される

型: string、デフォルト: ""

デバイス依存。

digraph {
  comment="I am a graph"
  A [comment="I am node A"]
  B [comment="I am node B"]
  A->B [comment="I am an edge"]
}

コメント付きのSVGを出力

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.47.1 (20210417.1919)
 -->
<!-- This is a graph -->
<!-- Pages: 1 -->
<svg width="62pt" height="116pt"
 viewBox="0.00 0.00 62.00 116.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 112)">
<polygon fill="white" stroke="transparent" points="-4,4 -4,-112 58,-112 58,4 -4,4"/>
<!-- A -->
<!-- I am node A -->
<g id="node1" class="node">
<title>A</title>
<ellipse fill="none" stroke="black" cx="27" cy="-90" rx="27" ry="18"/>
<text text-anchor="middle" x="27" y="-86.3" font-family="Times,serif" font-size="14.00">A</text>
</g>
<!-- B -->
<!-- I am node B -->
<g id="node2" class="node">
<title>B</title>
<ellipse fill="none" stroke="black" cx="27" cy="-18" rx="27" ry="18"/>
<text text-anchor="middle" x="27" y="-14.3" font-family="Times,serif" font-size="14.00">B</text>
</g>
<!-- A&#45;&gt;B -->
<!-- I am an edge -->
<g id="edge1" class="edge">
<title>A&#45;&gt;B</title>
<path fill="none" stroke="black" d="M27,-71.7C27,-63.98 27,-54.71 27,-46.11"/>
<polygon fill="black" stroke="black" points="30.5,-46.1 27,-36.1 23.5,-46.1 30.5,-46.1"/>
</g>
</g>
</svg>
有効な対象
  • エッジ
  • ノード
  • グラフ

Graphvizコードベースから"comment"を検索

compound

trueの場合、クラスタ間のエッジを許可する

型: bool、デフォルト: false

lheadltailを参照してください。

digraph {
  compound=true;

  subgraph cluster_a {
    label="Cluster A";
    node1; node3; node5; node7;
  }
  subgraph cluster_b {
    label="Cluster B";
    node2; node4; node6; node8;
  }

  node1 -> node2 [label="1"];
  node3 -> node4 [label="2" ltail="cluster_a"];
  
  node5 -> node6 [label="3" lhead="cluster_b"];
  node7 -> node8 [label="4" ltail="cluster_a" lhead="cluster_b"];
}
有効な対象
  • グラフ

注: dotのみ。

Graphvizコードベースから"compound"を検索

concentrate

trueの場合、エッジコンセントレータを使用する

型: bool、デフォルト: false

これにより、マルチエッジが単一のエッジにマージされ、部分的に並列のエッジがパスの一部を共有するようになります。後者の機能は、dot以外ではまだ使用できません。

digraph {
    concentrate=true
    a -> b [label="1"]
    c -> b
    d -> b
}
有効な対象
  • グラフ

Graphvizコードベースから"concentrate"を検索

constraint

falseの場合、エッジはノードのランキングに使用されない

型: bool、デフォルト: true

たとえば、次のグラフでは

digraph G {
  a -> c;
  a -> b;
  b -> c [constraint=false];
}

エッジb -> cはランク割り当て中に制約を追加しないため、唯一の制約はabcの上にあることであり、次のグラフが生成されます。

有効な対象
  • エッジ

注: dotのみ。

Graphvizコードベースから"constraint"を検索

Damping

力の動きを減衰させる係数。

型: double、デフォルト: 0.99、最小値: 0.0

各反復で、ノードの移動は潜在的な動きのこの係数に制限されます。1.0未満であることで、システムは「冷却」する傾向があり、サイクリングを防ぎます。

有効な対象
  • グラフ

注: neatoのみ。

Graphvizコードベースから"Damping"を検索

decorate

エッジラベルを線でエッジに接続するかどうか

型: bool、デフォルト: false

trueの場合、エッジラベルを2セグメントのポリラインでエッジに接続し、ラベルに下線を引いてから、スプラインの最も近い点に移動します。

digraph {
  a -> a [label="AA" decorate=true]
  a -> b [label="AB" decorate=true]
  b -> b [label="BB" decorate=false]
}
有効な対象
  • エッジ

Graphvizコードベースから"decorate"を検索

defaultdist

分離された接続コンポーネント内のノード間の距離

型: double、デフォルト: 1+(avg. len)*sqrt(|V|)、最小値: epsilon

小さすぎると、接続コンポーネントが重なる可能性があります。

pack=falseの場合にのみ適用されます。

有効な対象
  • グラフ

注: neatoのみ。

Graphvizコードベースから"defaultdist"を検索

dim

レイアウトに使用される次元の数を設定する

型: int、デフォルト: 2、最小値: 2

許可される最大値は10です。

有効な対象
  • グラフ

注: neatofdpsfdpのみ。

Graphvizコードベースから"dim"を検索

dimen

レンダリングに使用される次元の数を設定する

型: int、デフォルト: 2、最小値: 2

許可される最大値は10です。

dimendimの両方が設定されている場合、後者はレイアウトに使用される次元を指定し、前者はレンダリングに使用される次元を指定します。dimenのみが設定されている場合、これはレイアウトとレンダリングの両方の次元に使用されます。

現時点では、レンダリングのすべての側面が2Dであることに注意してください。これには、ノードの形状とサイズ、重複の除去、エッジのルーティングが含まれます。したがって、dimen > 2の場合、有効な情報はノードのpos属性のみです。

その他のすべての座標は2Dであり、せいぜい高次元点を平面に投影したものを反映します。

有効な対象
  • グラフ

注: neatofdpsfdpのみ。

Graphvizコードベースから"dimen"を検索

dir

矢印の先端を描画するためのエッジの種類

型: dirType、デフォルト: forward(有向)、none(無向)

エッジのどの端を矢印の先端で装飾するべきかを示します。

矢印の先端の実際の種類は、arrowheadarrowtail属性を使用して指定できます。

制限事項を参照してください。

digraph {
  A->B [dir=forward]
  C->D [dir=back]
  E->F [dir=both]
  G->H [dir=none]
}
有効な対象
  • エッジ

Graphvizコードベースから"dir"を検索

diredgeconstraints

ほとんどのエッジを下向きに制約するかどうか

型: string | bool、デフォルト: false

trueの場合、エッジが下向きを指す必要があるように、最大の(ヒューリスティックな)有向非巡回グラフ内の各エッジに対して制約が生成されます。

mode="ipsep"の場合にのみ有効です。

hierの場合、mode="hier"で使用されるものと同様のレベル制約を生成します。主な違いは、後者の場合、これらの制約のみが関係するため、より高速なソルバーを使用できることです。

有効な対象
  • グラフ

注: neatoのみ。

Graphvizコードベースから"diredgeconstraints"を検索

distortion

shape=polygonの歪み係数

型: double、デフォルト: 0.0、最小値: -100.0

正の値は、下部よりも上部が大きくなる原因となります。負の値は逆の効果があります。

skewも参照してください。

graph {
  LargeBottom [shape=polygon sides=4 distortion=-.5]
  LargeTop    [shape=polygon sides=4 distortion=.5]
}
有効な対象
  • ノード

Graphvizコードベースから"distortion"を検索

dpi

ディスプレイデバイス上の1インチあたりの予想ピクセル数を指定する

型: double、デフォルト: 96.00.0

bitmap出力の場合、dpiは、サイズと配置の両方において、テキストレンダリングがより正確に行われることを保証します。

SVG出力の場合、dpiは、出力の寸法が正しいポイント数またはインチに対応することを保証します。

有効な対象
  • グラフ

注: bitmap出力、svgのみ。

Graphvizコードベースから"dpi"を検索

edgehref

edgeURLの同義語

型: escString、デフォルト: ""

関連項目

有効な対象
  • エッジ

注: map、svgのみ。

Graphvizコードベースから"edgehref"を検索

edgetarget

edgeURLリンクに使用するブラウザウィンドウ

型: escString、デフォルト: <none>

エッジにURLまたはedgeURL属性がある場合、edgetargetは、エッジのラベル以外の部分に添付されたURLにブラウザのどのウィンドウを使用するかを決定します。

edgetarget=_graphvizを設定すると、まだ存在しない場合は新しいウィンドウが開き、存在する場合は再利用されます。

未定義の場合、targetの値が代わりに使用されます。

有効な対象
  • エッジ

注: map、svgのみ。

Graphvizコードベースから"edgetarget"を検索

edgetooltip

エッジのラベル以外の部分に添付されたツールチップ注釈

型: escString、デフォルト: ""

有効な対象
  • エッジ

注: cmapsvgのみ。

Graphvizコードベースから"edgetooltip"を検索

edgeURL

エッジのラベル以外の部分のリンク

型: escString、デフォルト: ""

edgeURLは、エッジに対して定義されているURLをオーバーライドします。

また、edgeURLは、それぞれheadURLまたはtailURLによってオーバーライドされない限り、ヘッドノードまたはテイルノードの近くに使用されます。

制限事項を参照してください。

関連項目

有効な対象
  • エッジ

注: map、svgのみ。

Graphvizコードベースから"edgeURL"を検索

epsilon

終了条件

型: double、デフォルト: .0001 * # nodes(mode == KK)、.0001(mode == major)、.01(mode == sgd)

すべてのエネルギー勾配の長さの2乗がepsilon未満の場合、アルゴリズムは停止します。

有効な対象
  • グラフ

注: neatoのみ。

Graphvizコードベースから"epsilon"を検索

esep

スプラインエッジルーティングの目的で、多角形の周囲に使用されるマージン

型: addDouble | addPoint、デフォルト: +3

sepについて説明されているものと同じ解釈です。esepは通常、sepよりも厳密に小さくなければなりません。

有効な対象
  • グラフ

注記: neatofdpsfdp、osage、circotwopi のみ。

Graphvizのコードベースで"esep"を検索してください

fillcolor

ノードまたはクラスタの背景を塗りつぶすために使用される色

タイプ: color | colorList、デフォルト: lightgrey (ノード)、black (クラスタ)

style=filled、または塗りつぶされたarrowheadを想定しています。

fillcolorが定義されていない場合、colorが使用されます。(クラスタの場合、colorが定義されていない場合、bgcolorが使用されます。) これが定義されていない場合、shape=pointの場合や出力形式がMIFの場合(デフォルトで黒を使用する)を除き、デフォルト値が使用されます。

colorListを値として指定すると、グラデーション塗りつぶしが使用されます。デフォルトでは線形塗りつぶしですが、style=radialを設定すると、放射状塗りつぶしになります。現在、2色のみが使用されます。2番目の色(コロンの後)が欠落している場合、デフォルトの色が使用されます。

グラデーション角度を設定するためのgradientangle属性も参照してください。

クラスタは、定義されている場合、ルートグラフの属性を継承することに注意してください。そのため、ルートグラフでfillcolorが定義されている場合、これはクラスタに設定されたcolorまたはbgcolor属性を上書きします。

有効な対象
  • ノード
  • エッジ
  • クラスタ

Graphvizのコードベースで"fillcolor"を検索してください

fixedsize

ノードのサイズを選択するために、指定された幅と高さの属性を使用するかどうか(ノードの内容に合わせてサイズ変更するのではなく)

タイプ: bool | string、デフォルト: false

falseの場合、ノードのサイズは、ラベルと画像(存在する場合)を含むのに必要な最小の幅と高さによって決定され、margin属性で指定されたマージンが追加されます。

幅と高さは、これらのパラメータの最小値を指定するwidthおよびheight属性で指定されたサイズ以上である必要があります。

trueの場合、ノードのサイズはwidthおよびheight属性の値のみで指定され、テキストラベルを含むように拡大されません。ラベル(マージンを含む)がこれらの制限内に収まらない場合は、警告が表示されます。

fixedsize属性がshapeに設定されている場合、widthおよびheight属性はノードシェイプのサイズも決定しますが、ラベルははるかに大きくなる可能性があります。ノードの重なりを避ける際には、ラベルとシェイプの両方のサイズが使用されますが、ノードへのすべてのエッジはラベルを無視し、ノードシェイプのみに接触します。ラベルが大きすぎる場合、警告は表示されません。

有効な対象
  • ノード

Graphvizのコードベースで"fixedsize"を検索してください

fontcolor

テキストに使用される色

タイプ: color、デフォルト: black

有効な対象
  • エッジ
  • ノード
  • グラフ
  • クラスタ

Graphvizのコードベースで"fontcolor"を検索してください

fontname

テキストに使用されるフォント

タイプ: string、デフォルト: "Times-Roman"

これは出力形式に大きく依存し、PostScriptやSVGなどのビットマップ以外の出力の場合、グラフが表示または印刷されるときのフォントの可用性に依存します。そのため、Times-Roman、Helvetica、Courierなど、一般的に利用可能なフォントフェイスに依存するのが最善です。

フォント名の解決方法も、フォント名の解決を処理する基盤となるライブラリによって異なります。fontconfigライブラリを使用してGraphvizがビルドされた場合、後者のライブラリを使用してフォントが検索されます。名前の解決方法と利用可能なフォントについては、fc-listfc-match、その他のfontconfigコマンドを参照してください。OS XのQuartzなど、他のシステムでは独自のフォントパッケージが提供される場合があります。

太字や斜体などのさまざまなフォント属性は、フォント名に組み込むことができます。残念ながら、構文は、どのフォントシステムが主要であるかによって異なります。そのため、fontname="times bold italic"を使用すると、通常の主要フォントライブラリであるPangoを使用して、太字で斜体のTimesフォントが生成されます。あるいは、fontname="times:italic"はfontconfigから斜体のTimesフォントを生成し、fontname="times-bold"はQuartzを使用して太字のTimesに解決されます。ご使用のGraphvizシステムで使用されているパッケージを確認し、関連するドキュメントを参照する必要があります。

Graphvizが高レベルのフォントライブラリを使用してビルドされていない場合、fontnameはType 1またはTrueTypeフォントファイルの名前と見なされます。fontname=schlbkを指定すると、ツールはfontpath属性で指定されたディレクトリのいずれかにあるschlbk.ttfまたはschlbk.pfaまたはschlbk.pfbという名前のファイルを探します。ルックアップは、一般的なフォントのさまざまなエイリアスをサポートしています。

digraph {
    label="Comic Sans MS"
    fontname="Comic Sans MS"
    subgraph cluster_a {
      label="Courier New"
      fontname="Courier New"
      Arial [fontname="Arial"];
      Arial -> Arial [label="Impact" fontname="Impact"]
    }
}
有効な対象
  • エッジ
  • ノード
  • グラフ
  • クラスタ

Graphvizのコードベースで"fontname"を検索してください

fontnames

SVG出力における基本的なフォント名の表現方法をユーザーが制御できるようにします。

型: string、デフォルト: ""

fontnamesが未定義の場合、またはsvgの場合、出力は既知のSVGフォント名を使用しようとします。

たとえば、デフォルトのフォントTimes-Romanは基本的なSVGフォントserifにマップされます。これは、fontnamespsまたはhdに設定することで上書きできます。前者の場合、Times-Romanなどの既知のPostScriptフォント名が出力に使用されます。後者の場合、fontconfigフォントの規則が使用されます。したがって、Times-RomanNimbus Roman No9 Lとして扱われます。これらの最後の2つのオプションは、これらの豊富なフォントネームスペースをサポートするSVGビューアで役立ちます。

有効な対象
  • グラフ

注:svgのみ。

Graphvizのコードベースで"fontnames"を検索してください

fontpath

libgdがビットマップフォントを検索するために使用するディレクトリリスト

タイプ: string、デフォルト: <システム依存>

fontconfigライブラリを使用してGraphvizがビルドされていない場合に使用されます。

fontpathが設定されていない場合、環境変数DOTFONTPATHがチェックされます。

DOTFONTPATHが設定されていない場合、GDFONTPATHがチェックされます。

GDFONTPATHが設定されていない場合、libgdはコンパイル時に組み込まれたフォントパスを使用します。

fontpathはルートグラフの属性であることに注意してください。

有効な対象
  • グラフ

Graphvizのコードベースで"fontpath"を検索してください

fontsize

テキストに使用されるフォントサイズ(ポイント単位

タイプ: double、デフォルト: 14.0、最小値: 1.0

digraph {
    label="40pt Graph Label"
    fontsize="40"
    subgraph cluster_a {
      label="30pt Cluster Label"
      fontsize="30pt"
      "20pt Node" [fontsize="20pt"];
      "20pt Node"-> "20pt Node" [label="10pt Edge" fontsize="10"]
    }
}
有効な対象
  • エッジ
  • ノード
  • グラフ
  • クラスタ

Graphvizのコードベースで"fontsize"を検索してください

forcelabels

すべてのxlabelsを、重なっている場合でも配置するかどうか

型: bool、デフォルト: true

trueの場合、ノードやその他のラベルと重なっている場合でも、すべてのxlabel属性が配置されます。

有効な対象
  • グラフ

Graphvizのコードベースで"forcelabels"を検索してください

gradientangle

グラデーション塗りつぶしを使用している場合、これは塗りつぶしの角度を決定します。

タイプ: int、デフォルト: 0、最小値: 0

線形塗りつぶしの場合、色は角度とオブジェクトの中心で指定された線に沿って変換されます。放射状塗りつぶしの場合、値が0の場合は、色が中心から放射状に変換されます。0以外の値の場合、色は値で指定されたオブジェクトの周辺に近い点から変換されます。

設定されていない場合、デフォルトの角度は0です。

有効な対象
  • ノード
  • クラスタ
  • グラフ

Graphvizのコードベースで"gradientangle"を検索してください

group

エッジの交差を避けてエッジを束ねるためのノードのグループ名。

型: string、デフォルト: ""

エッジの端点が同じグループに属している場合、つまり、同じgroup属性を持っている場合、交差を避け、エッジをまっすぐに保つようにパラメータが設定されます。

有効な対象
  • ノード

注: dotのみ。

Graphvizのコードベースで"group"を検索してください

head_lp

エッジのヘッドラベルの中心位置

タイプ: point

ポイント単位.

有効な対象
  • エッジ

注:書き込み専用。

Graphvizのコードベースで"head_lp"を検索してください

headclip

trueの場合、エッジのヘッドはヘッドノードの境界にクリップされます。

型: bool、デフォルト: true

それ以外の場合、エッジの端はノードの中心、または該当する場合はポートの中心まで伸びます。

有効な対象
  • エッジ

Graphvizのコードベースで"headclip"を検索してください

headhref

headURLの同義語

型: escString、デフォルト: ""

関連項目

有効な対象
  • エッジ

注: map、svgのみ。

Graphvizのコードベースで"headhref"を検索してください

headlabel

エッジのヘッド付近に配置されるテキストラベル

タイプ: lblString、デフォルト: ""

制限事項を参照してください。

有効な対象
  • エッジ

Graphvizのコードベースで"headlabel"を検索してください

headport

エッジのヘッドをヘッドノードのどこに接続するかを示します。

タイプ: portPos、デフォルト: center

デフォルトの場合、エッジはノードの中心を狙い、ノードの境界でクリップされます。

制限事項を参照してください。

有効な対象
  • エッジ

Graphvizのコードベースで"headport"を検索してください

headtarget

headURLリンクに使用されるブラウザウィンドウ

型: escString、デフォルト: <none>

エッジにheadURLがある場合、headtargetはURLに使用するブラウザのウィンドウを決定します。headURL=_graphvizを設定すると、ウィンドウが存在しない場合は新しいウィンドウが開き、存在する場合はそのウィンドウが再利用されます。

未定義の場合、targetの値が使用されます。

有効な対象
  • エッジ

注: map、svgのみ。

Graphvizのコードベースで"headtarget"を検索してください

headtooltip

エッジのヘッドに添付されたツールチップ注釈

型: escString、デフォルト: ""

エッジにheadURL属性がある場合にのみ使用されます。

関連項目

有効な対象
  • エッジ

注: cmapsvgのみ。

Graphvizのコードベースで"headtooltip"を検索してください

headURL

定義されている場合、headURLはエッジのヘッドラベルの一部として出力されます。

型: escString、デフォルト: ""

また、この値はヘッドノード付近で使用され、URL値を上書きします。

制限事項を参照してください。

関連項目

有効な対象
  • エッジ

注: map、svgのみ。

Graphvizのコードベースで"headURL"を検索してください

height

ノードの高さ(インチ単位)

タイプ: double、デフォルト: 0.5、最小値: 0.02

これはノードの初期の最小高さとして取得されます。fixedsizeがtrueの場合、これがノードの最終的な高さになります。それ以外の場合、ノードラベルに収まるためにさらに高さが必要な場合、ノードの高さが増やされてラベルが含まれるようになります。

出力形式がdotの場合、heightに与えられた値が最終値になります。

ノードシェイプが正方形の場合、幅と高さが同一になります。

  • widthheightの両方が明示的に設定されている場合、2つの値のうち大きい方が使用されます。
  • widthまたはheightのいずれか一方のみが明示的に設定されている場合、その値がwidthheightの両方に使用されます。
  • どちらも明示的に設定されていない場合、2つのデフォルト値のうち小さい方が使用されます。
高さの例
digraph G {
  "default"
  "1in" [height=1]
  "2in" [height=2]
}

関連項目

有効な対象
  • ノード

Graphvizコードベースで"height"を検索する

href

URLの同義語

型: escString、デフォルト: ""

関連項目

有効な対象
  • グラフ
  • クラスタ
  • ノード
  • エッジ

注記:map、postscriptsvgのみ。

Graphvizコードベースで"href"を検索する

id

グラフオブジェクトの識別子

型: escString、デフォルト: ""

グラフ作成者が、出力に含めるグラフオブジェクトの識別子を指定できるようにします。

通常の\N\E\Gの置換が適用されます。

指定された場合、その後の使用目的においてid値の一意性を維持する責任は提供者側にあります。

特に、\Eはマルチエッジに対して一意のIDを提供しないことに注意してください。

id属性が提供されていない場合、一意の内部IDが使用されます。ただし、この値はグラフライターでは予測できません。

グラフがid属性を提供する場合、これは内部的に生成された属性のプレフィックスとして使用されます。内部で使用される属性を一意にすることで、ユーザーは同じドキュメントに複数のイメージマップを含めることができます。

有効な対象
  • グラフ
  • クラスタ
  • ノード
  • エッジ

注記:map、postscriptsvgのみ。

Graphvizコードベースで"id"を検索する

image

ノード内に表示する画像を含むファイルの名前を指定します。

型: string、デフォルト: ""

画像ファイルは、認識されている形式(通常はJPEG、PNG、GIF、BMP、SVG、またはPostscript)のいずれかでなければならず、目的の出力形式に変換できる必要があります。

ファイルには、画像サイズ情報が含まれている必要があります。

  • ビットマップ形式には、通常、画像サイズが既に含まれています。
  • PostScriptファイルには、%%BoundingBox:で始まる行が含まれていなければなりません。その後に、画像のバウンディングボックスの左下のx座標とy座標、および右上のx座標とy座標を指定する4つの整数が続きます。座標はポイント単位です。
  • SVG画像ファイルには、幅と高さの属性が含まれている必要があります。通常はsvg要素の一部として含まれます。これらの値は、浮動小数点数に、オプションで単位(例:width="76pt")を付けた形式である必要があります。認識される単位は、インチ、ピクセル、ピカ、ポイント、センチメートル、ミリメートルのそれぞれを表すin、px、pc、pt、cm、mmです。デフォルトの単位はポイントです。

shapefile属性とは異なり、画像はノード全体ではなくノードの内容として扱われます。特に、画像は長方形だけでなく、任意の形状のノードに含めることができます。

ローカルリソースへのパスのみがサポートされています。リモートリソースへのURLを使用する場合は、dot_url_resolve.pyスクリプトを参照してください。

有効な対象
  • ノード

Graphvizコードベースで"image"を検索する

imagepath

画像ファイルを探すディレクトリのリスト

型: string、デフォルト: ""

image属性で指定する場合、またはHTMLライクなラベルIMG要素を使用する場合。

imagepathは、(絶対または相対)パス名のリストで、それぞれセミコロン;(Windowsの場合)またはコロン:(その他のOS)で区切られます。

指定された名前のファイルが最初に検出されたディレクトリを使用して、画像が読み込まれます。

imagepathが設定されていない場合、画像ファイルの相対パス名は、現在の作業ディレクトリを基準に解釈されます。

有効な対象
  • グラフ

Graphvizコードベースで"imagepath"を検索する

imagepos

画像が包含ノード内でどのように配置されるかを制御します。

型:文字列、デフォルト:"mc"

imageposは、画像が包含ノードより小さい場合にのみ有効です。

デフォルトは、水平方向と垂直方向の両方の中央揃えです。

有効な値

  • tl - 左上
  • tc - 上中央
  • tr - 右上
  • ml - 左中央
  • mc - 中央 (デフォルト)
  • mr - 右中央
  • bl - 左下
  • bc - 下中央
  • br - 右下
有効な対象
  • ノード

Graphvizコードベースで"imagepos"を検索する

imagescale

画像が包含ノードをどのように満たすかを制御します。

タイプ: bool | string、デフォルト: false

一般的に、画像は自然なサイズが与えられ(dpiを参照)、ノードのサイズは、画像、ラベル、マージン、および周辺部を含むのに十分な大きさになります。

幅と高さは、最小のwidthheightよりも少なくとも大きくなります。ただし、fixedsize=trueの場合、幅と高さの属性はノードの正確なサイズを指定します。

  • レンダリング時に、デフォルトの場合(imagescale=false)、画像は自然なサイズを維持します。
  • imagescale=trueの場合、画像はノード内に収まるように均一に拡大縮小されます(つまり、アスペクト比は維持されます)。画像の少なくとも一方の寸法は、ノードのサイズを考慮して可能な限り大きくなります。
  • imagescale=widthの場合、画像の幅はノードの幅に合わせて拡大縮小されます。
  • imagescale=heightの場合も、対応するプロパティが保持されます。
  • imagescale=bothの場合、高さ、幅の両方が個別にノードに合わせて拡大縮小されます。

いずれの場合も、画像の寸法がノードの対応する寸法よりも大きい場合、画像のその寸法はノードに収まるように縮小されます。

拡大の場合と同様に、imagescale=trueの場合、幅と高さが均一に拡大縮小されます。

有効な対象
  • ノード

Graphvizコードベースで"imagescale"を検索する

inputscale

長さ単位を変換するために、入力位置をスケーリングします。

型:倍精度浮動小数点数、デフォルト:<none>

初期入力位置(pos属性で指定)をサポートするレイアウトアルゴリズムの場合、この属性を使用して値を適切にスケーリングできます。

デフォルトでは、fdpneatoは、posのx値とy値をインチ単位と解釈します。(注記:neato -n(2)は、座標をポイント単位と見なします。これは、pos属性のレイアウトアルゴリズムで使用される単位です。)したがって、グラフにポイント単位のpos属性がある場合、inputscale=72を設定する必要があります。これは、-sフラグを使用してコマンドラインでも設定できます。

設定されていない場合、スケーリングは行われず、入力の単位はインチとして扱われます。

inputscale=0inputscale=72と同じです。

有効な対象
  • グラフ

注記:neatofdpのみ。

Graphvizコードベースで"inputscale"を検索する

K

仮想物理モデルで使用されるバネ定数

型:倍精度浮動小数点数、デフォルト:0.3、最小値:0

これは、理想的なエッジの長さ(インチ単位)にほぼ対応しており、Kを増やすとノード間の距離が増加する傾向があります。

隣接するノードに対しては、エッジ属性lenを使用してこの値を上書きできることに注意してください。

有効な対象
  • グラフ
  • クラスタ

注記:fdpsfdpのみ。

Graphvizコードベースで"K"を検索する

label

オブジェクトに添付されたテキストラベル

型:lblString、デフォルト:"\N"(ノード)、""(その他)

ノードのshapeがrecordの場合、ラベルは特別な形式を持ち、レコードレイアウトを記述することができます。

ノードのデフォルトのラベルは"\N"であるため、ノードの名前またはIDがそのラベルになります。

技術的には、ノードの名前はHTML文字列にすることができますが、ノードのラベルがHTMLライクなラベルとして解釈されるという意味ではありません。これは、ノードの実際のラベルは通常の文字列であり、ノードの名前に格納されている生のバイトで置き換えられるためです。

HTMLライクなラベルを取得するには、ラベル属性値自体がHTML文字列である必要があります。

例:ゴッホの絵画
graph {
  label="Vincent van Gogh Paintings"

  subgraph cluster_self_portraits {
    label="Self-portraits"

    spwgfh [label="Self-Portrait with Grey Felt Hat"]
    spaap [label="Self-Portrait as a Painter"]
  }
  
  subgraph cluster_flowers {
    label="Flowers"

    sf [label="Sunflowers"]
    ab [label="Almond Blossom"]
  }
}
有効な対象
  • エッジ
  • ノード
  • グラフ
  • クラスタ

Graphvizコードベースで"label"を検索する

label_scheme

名前が|edgelabel|*の形式であるノードを、エッジラベルを表す特別なノードとして扱うかどうか。

タイプ: int、デフォルト: 0、最小値: 0

  • デフォルトのlabel_scheme=0は、何も効果がありません。
  • label_scheme=1の場合、sfdpはそのようなノードをその隣接ノードの中心に近づけるペナルティベースの方法を使用します。
  • label_scheme=2の場合、sfdpはそのようなノードをその隣接ノードの古い中心に近づけるペナルティベースの方法を使用します。
  • 最後に、label_scheme=3は、オーバーラップの除去と整列の2段階のプロセスを呼び出します。
有効な対象
  • グラフ

注:sfdpのみ。

Graphvizコードベースで"label_scheme"を検索する

labelangle

極座標におけるヘッド&テールエッジラベルの角度(度単位)。

型:倍精度浮動小数点数、デフォルト:-25.0、最小値:-180.0

labeldistanceと合わせて、headlabel / taillabelが極座標においてヘッド / テールに対してどこに配置されるかを決定します。

座標系の原点は、エッジがノードに接する点です。0度の光線は、原点からエッジに沿って後ろ向きに、原点でエッジと平行に伸びています。

角度(度単位)は、0度の光線からの回転を指定します。正の角度は反時計回り、負の角度は時計回りに移動します。

有効な対象
  • エッジ

Graphvizコードベースで"labelangle"を検索する

labeldistance

headlabel / taillabelをヘッド / テールノードから離す距離のスケールファクター。

型: double、デフォルト: 1.0、最小値: 0.0

デフォルトの距離は10ポイントです。

labeldistanceはそのデフォルト値を乗算します。

詳しくはlabelangleを参照してください。

有効な対象
  • エッジ

Graphvizコードベースで"labeldistance"を検索する

labelfloat

trueの場合、エッジラベルの位置の制約を弱めます。

型: bool、デフォルト: false

特に、他のエッジの上に表示される場合があります。

有効な対象
  • エッジ

Graphvizコードベースで"labelfloat"を検索する

labelfontcolor

headlabeltaillabelに使用される色。

タイプ: color、デフォルト: black

設定されていない場合、エッジのfontcolorがデフォルトになります。

有効な対象
  • エッジ

Graphvizコードベースで"labelfontcolor"を検索する

labelfontname

headlabeltaillabelのフォント

タイプ: string、デフォルト: "Times-Roman"

headlabeltaillabelに使用されるフォント。

設定されていない場合、エッジのfontnameがデフォルトになります。

有効な対象
  • エッジ

Graphvizコードベースで"labelfontname"を検索する

labelfontsize

headlabeltaillabelのフォントサイズ

タイプ: double、デフォルト: 14.0、最小値: 1.0

headlabel および taillabel に使用するフォントサイズ(ポイント単位)。ポイント

設定されていない場合、エッジの fontsize のデフォルト値が使用されます。

有効な対象
  • エッジ

Graphviz のコードベースで "labelfontsize" を検索してください

labelhref

labelURL の同義語

型: escString、デフォルト: ""

関連項目

有効な対象
  • エッジ

注: map、svgのみ。

Graphviz のコードベースで "labelhref" を検索してください

labeljust

グラフとクラスタのラベルの揃え方

型: 文字列、デフォルト: "c"

  • labeljust=r の場合、ラベルは境界矩形内で右揃えになります。
  • labeljust=l の場合、左揃えになります。
  • それ以外の場合は、ラベルは中央揃えになります。

サブグラフは親から属性を継承することに注意してください。そのため、ルートグラフで labeljust=l を設定した場合、サブグラフはその値を継承します。

グラフラベルの揃え方
digraph {
  label="l"
  labeljust=l
  a
}
グラフラベルの揃え方
digraph {
  label="r"
  labeljust=r
  b
}
クラスタラベルの揃え方
digraph {
  subgraph cluster_l {
    label="l"
    labeljust=l
    a
  }
  subgraph cluster_c {
    label="c"
    labeljust=c
    b
  }
  subgraph cluster_r {
    label="r"
    labeljust=r
    c
  }
}
有効な対象
  • グラフ
  • クラスタ

Graphviz のコードベースで "labeljust" を検索してください

labelloc

ノード、ルートグラフ、クラスタのラベルの垂直方向の位置

型: 文字列、デフォルト: "t"(クラスタ)、"b"(ルートグラフ)、"c"(ノード)

グラフとクラスタでは、labelloc=tlabelloc=b のみが許可され、それぞれ上部と下部への配置に対応します。

デフォルトでは、ルートグラフのラベルは下部に、クラスタのラベルは上部に配置されます。

サブグラフは親から属性を継承することに注意してください。そのため、ルートグラフで labelloc=b を設定した場合、サブグラフはその値を継承します。

ノードの場合、この属性はノードの高さがラベルの高さを超える場合にのみ使用されます。

labelloc=tlabelloc=clabelloc=b の場合、ラベルはそれぞれノードの上部に揃えられ、中央に配置され、ノードの下部に揃えられます。

デフォルトでは、ラベルは垂直方向に中央揃えされます。

グラフの上部のラベル
digraph {
  labelloc="t"
  label="Title"
  a -> b
}
グラフの下部のラベル
digraph {
  labelloc="b"
  label="Title"
  a -> b
}
クラスタラベルの位置
digraph {
  label="Graph Title"
  subgraph cluster_t {
    labelloc="t"
    label="Cluster Top"
    a -> b
  }
  subgraph cluster_b {
    labelloc="b"
    label="Cluster Bottom"
    c -> d
  }
}
ノードラベルの位置
digraph {
  t [labelloc=t]
  c [labelloc=c]
  b [labelloc=b]
}
有効な対象
  • ノード
  • グラフ
  • クラスタ

Graphviz のコードベースで "labelloc" を検索してください

labeltarget

labelURL リンクを開くブラウザウィンドウ

型: escString、デフォルト: <none>

エッジに URL または labelURL 属性がある場合、この属性によって、ラベルに添付された URL に使用されるブラウザのウィンドウが決まります。

labeltarget=_graphviz を設定すると、ウィンドウが存在しない場合は新しいウィンドウが開き、存在する場合は再利用されます。

未定義の場合、targetの値が使用されます。

有効な対象
  • エッジ

注: map、svgのみ。

Graphviz のコードベースで "labeltarget" を検索してください

labeltooltip

エッジのラベルに添付されたツールチップ注釈

型: escString、デフォルト: ""

有効な対象
  • エッジ

注: cmapsvgのみ。

Graphviz のコードベースで "labeltooltip" を検索してください

labelURL

定義されている場合、labelURL はエッジのラベルに使用されるリンクです。

型: escString、デフォルト: ""

labelURL は、エッジに対して定義されている URL をオーバーライドします。

関連項目

有効な対象
  • エッジ

注: map、svgのみ。

Graphviz のコードベースで "labelURL" を検索してください

landscape

true の場合、グラフは横向きモードでレンダリングされます。

型: bool、デフォルト: false

rotate=90 または orientation=landscape と同義です。

回転
digraph {
  landscape=true
  a -> b
}

関連項目

有効な対象
  • グラフ

Graphviz のコードベースで "landscape" を検索してください

layer

ノード、エッジ、またはクラスタが存在するレイヤーを指定します。

型: layerRange、デフォルト: ""

有効な対象
  • エッジ
  • ノード
  • クラスタ

Graphviz のコードベースで "layer" を検索してください

layerlistsep

layerRange 型の属性を範囲のリストに分割するために使用されるセパレータ文字。

型: 文字列、デフォルト: ","

有効な対象
  • グラフ

Graphviz のコードベースで "layerlistsep" を検索してください

layers

グラフに添付されたレイヤー名の線形順序リスト。

型: layerList、デフォルト: ""

グラフは、個別のレイヤーに出力されます。現在の出力レイヤーに属するコンポーネントのみが表示されます。

描画レイヤー(オーバーレイ)の使用方法 を参照してください。

有効な対象
  • グラフ

Graphviz のコードベースで "layers" を検索してください

layerselect

出力するレイヤーのリストを選択します。

型: layerRange、デフォルト: ""

有効な対象
  • グラフ

Graphviz のコードベースで "layerselect" を検索してください

layersep

layers 属性をレイヤー名のリストに分割するためのセパレータ文字。

型: 文字列、デフォルト: ":\t "

有効な対象
  • グラフ

Graphviz のコードベースで "layersep" を検索してください

layout

型: string、デフォルト: ""

使用するレイアウトエンジンの名前を指定します(例: dot または neato)。

通常、グラフはレイアウトの種類とは独立している必要があります。しかし、場合によっては、グラフ内に目的のレイアウトの種類を埋め込む方が便利な場合があります。

たとえば、レイアウトからの位置情報を含むグラフは、関連するレイアウトエンジンを記録したい場合があります。

この属性は、-K フラグ または使用された実際のコマンド名よりも優先されます。

有効な対象
  • グラフ

Graphviz のコードベースで "layout" を検索してください

len

推奨されるエッジの長さ(インチ単位)

型: 倍精度浮動小数点数、デフォルト: 1.0 (neato)、0.3 (fdp)

関連項目

有効な対象
  • エッジ

注記:neatofdpのみ。

Graphviz のコードベースで "len" を検索してください

levels

多レベルスキームで許可されるレベル数

型: 整数、デフォルト: INT_MAX、最小値: 0.0

有効な対象
  • グラフ

注:sfdpのみ。

Graphviz のコードベースで "levels" を検索してください

levelsgap

neato レベル制約の厳格さ

型: 倍精度浮動小数点数、デフォルト: 0.0

mode="ipsep" または mode=hier の場合、neato でのレベル制約の厳格さを指定します。

正の値が大きいほど制約が厳しくなり、レベル間の分離がより要求されます。一方、負の値は、レベル間の重複を許容することにより、制約を緩めます。

有効な対象
  • グラフ

注: neatoのみ。

Graphviz のコードベースで "levelsgap" を検索してください

lhead

エッジの論理的なヘッド

型: string、デフォルト: ""

compound が true の場合、lhead が定義されていて、実際のヘッドを含むクラスタの名前である場合、エッジはクラスタの境界でクリップされます。

digraph {
  compound=true;

  subgraph cluster_a {
    label="Cluster A";
    node1; node3; node5; node7;
  }
  subgraph cluster_b {
    label="Cluster B";
    node2; node4; node6; node8;
  }

  node1 -> node2 [label="1"];
  node3 -> node4 [label="2" ltail="cluster_a"];
  
  node5 -> node6 [label="3" lhead="cluster_b"];
  node7 -> node8 [label="4" ltail="cluster_a" lhead="cluster_b"];
}

制限事項を参照してください。

有効な対象
  • エッジ

注: dotのみ。

Graphviz のコードベースで "lhead" を検索してください

lheight

グラフまたはクラスタラベルの高さ(インチ単位)

型: 倍精度浮動小数点数

有効な対象
  • グラフ
  • クラスタ

注:書き込み専用。

Graphviz のコードベースで "lheight" を検索してください

linelength

テキスト出力で、文字列が改行されるまでの長さ。

型: 整数、デフォルト: 128、最小値: 60

例: 80 文字の長さの文字列("a " * 40)は、標準出力 として印刷されるときに、2 行に分割されます。

$ echo 'digraph G { linelength=60; N0 [label="a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a "]; }' | dot -Tcanon
digraph G {
        graph [linelength=60];
        node [label="\N"];
        N0      [label="a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a \
a a a a a a a a a a "];
}

ラベルが指定されたサイズに達すると、テキストはオーバーフローします。

linelength という名前にもかかわらず、これは全体の行の長さ(ノード ID と属性キーを含む)ではなく、属性文字列の長さです。

有効な対象
  • グラフ

Graphviz のコードベースで "linelength" を検索してください

lp

ラベルの中心位置

タイプ: point

ラベルの中心位置(ポイント単位)。

有効な対象
  • エッジ
  • グラフ
  • クラスタ

注:書き込み専用。

Graphviz のコードベースで "lp" を検索してください

ltail

エッジの論理的なテール

型: string、デフォルト: ""

compound=true の場合、ltail が定義されていて、実際のテールを含むクラスタの名前である場合、エッジはクラスタの境界でクリップされます。

digraph {
  compound=true;

  subgraph cluster_a {
    label="Cluster A";
    node1; node3; node5; node7;
  }
  subgraph cluster_b {
    label="Cluster B";
    node2; node4; node6; node8;
  }

  node1 -> node2 [label="1"];
  node3 -> node4 [label="2" ltail="cluster_a"];
  
  node5 -> node6 [label="3" lhead="cluster_b"];
  node7 -> node8 [label="4" ltail="cluster_a" lhead="cluster_b"];
}

制限事項を参照してください。

有効な対象
  • エッジ

注: dotのみ。

Graphviz のコードベースで "ltail" を検索してください

lwidth

グラフまたはクラスタラベルの幅(インチ単位)

型: 倍精度浮動小数点数

有効な対象
  • グラフ
  • クラスタ

注:書き込み専用。

Graphviz のコードベースで "lwidth" を検索してください

margin

グラフの場合、キャンバスの x マージンと y マージンをインチ単位で設定します。

型: 倍精度浮動小数点数 | 、デフォルト: <デバイス依存>

マージンが単一の倍精度浮動小数点数の場合、両方のマージンは指定された値に設定されます。

マージンは描画の一部ではなく、描画の周囲に残された空きスペースにすぎないことに注意してください。マージンは基本的に描画の平行移動に対応しており、ページ上に描画を中央揃えするために必要になります。マージンには実際には何も描画されません。描画の背景を実際に拡張するには、pad 属性を参照してください。

クラスタの場合、margin はクラスタ内のノードとクラスタの境界ボックス間のスペースを指定します。デフォルトでは、これは 8 ポイントです。

ノードの場合、この属性はノードのラベルの周囲に残されたスペースを指定します。デフォルト値は 0.11,0.055 です。

ノードの例: 高いマージン、広いマージン、等しいマージン
graph {
  "1.5x0.5" [shape=rect margin="1.5,0.5"] # in inches
  "0.5x1.5" [shape=rect margin="0.5,1.5"] # in inches
  "1.5x1.5" [shape=rect margin="1.5"]     # in inches
}
例: クラスタとグラフのマージン
graph {
    bgcolor=lightgray
    margin=0 # in inches
    
    subgraph cluster_one {
      margin=8 # in points
      a
      b
    }
    subgraph cluster_two {
      margin=16 # in points
      c
      d
    }
}
有効な対象
  • ノード
  • クラスタ
  • グラフ

Graphviz のコードベースで "margin" を検索してください

maxiter

使用する反復回数を設定します。

型: 整数、デフォルト: 100 * ノード数 (mode == KK)、200 (mode == major)、30 (mode == sgd)、600 (fdp)

有効な対象
  • グラフ

注記:neatofdpのみ。

Graphviz のコードベースで "maxiter" を検索してください

mclimit

mincross (mc) エッジ交差最小化パラメータのスケールファクター

型: 倍精度浮動小数点数、デフォルト: 1.0

交差最小化中に使用される MinQuit(デフォルト = 8)と MaxIter(デフォルト = 24)パラメータを変更するために使用される乗算スケールファクター。

これらは、改善なしで終了する試行回数と、各パスでの最大反復回数に対応します。

有効な対象
  • グラフ

注: dotのみ。

Graphviz のコードベースで "mclimit" を検索してください

mindist

すべてのノード間の最小分離を指定します。

型: double、デフォルト: 1.0、最小値: 0.0

有効な対象
  • グラフ

注: circo のみ。

Graphviz のコードベースで "mindist" を検索してください

minlen

最小エッジ長(ヘッドとテールのランクの差)

型: 整数、デフォルト: 1、最小値: 0

関連項目

有効な対象
  • エッジ

注: dotのみ。

Graphviz のコードベースで "minlen" を検索してください

mode

レイアウトを最適化するための手法

type: 文字列、デフォルト: major

neato はモードをサポートします。

  • mode="major": neato はストレス・マジョライゼーション1を使用します。
  • mode="KK": neato は勾配降下法のKamada-Kawai2版を使用します。KKは、ノード数が少ない(ノード数<100)グラフでは、著しく高速になる場合があります。大きな欠点は、KKがサイクルを起こす可能性があることです。
  • mode="sgd": neato は確率的勾配降下法3の1つのバージョンを使用します。sgdの利点は、以前の方法よりも高速で信頼性の高い収束である一方、sgdの欠点は、固定数の反復回数で実行され、一部のグラフではmaxiterの値を大きくする必要があることです。

neatoには、実験的なモードが2つあります。

  • mode="hier"は、dotで使用されるレイアウトと同様の上から下の指向性を追加し、
  • mode="ipsep"は、グラフがノード間の最小の垂直方向と水平方向の距離を指定できるようにします。(sep属性を参照してください。)
有効な対象
  • グラフ

注: neatoのみ。

Graphvizのコードベースで"mode"を検索してください

model

入力グラフの距離行列の計算方法を指定します。

type: 文字列、デフォルト: shortpath

距離行列は、すべてのノードペア間の理想的な距離を指定します。neatoは、これらの距離を最適に達成するレイアウトを見つけようとします。デフォルトでは、各エッジの長さがそのlen属性によって与えられる最短経路の長さを使用します。

  • model="circuit"の場合、neatoは回路抵抗モデルを使用して距離を計算します。これは、クラスタを強調する傾向があります。
  • model="subset"の場合、neatoはサブセットモデルを使用します。これは、エッジの長さを、正確に一方の端点の隣接ノードの数に設定し、最短経路を計算します。これは、次数が高いノードを分離するのに役立ちます。

距離をより詳細に制御するには、model=mdsを使用できます。この場合、エッジのlenは、その頂点間の理想的な距離として使用されます。

最短経路の計算は、エッジで接続されていないノードのペアに対してのみ使用されます。したがって、完全グラフを提供することにより、入力はすべての関連距離を指定できます。

有効な対象
  • グラフ

注: neatoのみ。

Graphvizのコードベースで"model"を検索してください

newrank

クラスタを無視して、単一のグローバルなランキングを使用するかどうか

型: bool、デフォルト: false

dotの元のランキングアルゴリズムは、クラスタに対して再帰的です。これは、ランク数を減らし、よりコンパクトなレイアウトを作成できますが、ヘッドノードがテールノードよりも高いランクに配置される可能性があります。また、ノードが別々の非互換なサブグラフで制約されていないことを前提としています。たとえば、ノードはクラスタに属し、同時にクラスタに属さないノードでrank=sameによって制約されることはできません。

これにより、ノードは複数の制約の対象とすることができます。ランク制約は通常、エッジ制約よりも優先されます。

有効な対象
  • グラフ

注: dotのみ。

Graphvizのコードベースで"newrank"を検索してください

nodesep

dotでは、nodesepは、同じランクにある2つの隣接ノード間の最小スペースをインチ単位で指定します。

type: 倍精度浮動小数点数、デフォルト: 0.25、最小値: 0.02

他のレイアウトでは、nodesepは、単一ノードのループ間、またはノードペア間のマルチエッジ間のスペースに影響します。

ノード間の小さい間隔
digraph {
    nodesep=0.1;
    node1; node2; node3;
}
ノード間の大きい間隔
digraph {
    nodesep=0.5;
    node1; node2; node3;
}
有効な対象
  • グラフ

Graphvizのコードベースで"nodesep"を検索してください

nojustify

複数行のテキストを、前のテキスト行に対して(コンテナの側面ではなく)調整するかどうか。

型: bool、デフォルト: false

デフォルトでは、複数行のラベルの調整は、意味のある最大コンテキスト内で行われます。したがって、多角形ノードのラベルでは、左揃えの行はノードの左側に(指定されたmarginだけシフトして)揃えられます。レコードノードでは、左揃えの行は、フィールドを含む列の左側に揃えられます。nojustify=trueの場合、複数行のラベルはそれ自体に関連するコンテキストで調整されます。

たとえば、nojustifyが設定され、最初のラベル行が長く、2番目が短く左揃えの場合、ノードのサイズに関係なく、2番目は最初の行の左端の文字に揃えられます。

\l(左揃え)エスケープ文字列を含むこの例を参照してください。

Nojustifyにより、テキストはボックスの左側ではなく、前のテキスト行に揃えられます。
digraph G {
  node [width=3 shape=box]
  a [nojustify=false label="The first line is longer\nnojustify=false\l"]
  b [nojustify=true label="The first line is longer\nnojustify=true\l"]
  a -> b
}
Nojustifyにより、テキストはレコード列ではなく、前のテキスト行に揃えられます。
digraph G{
  c [nojustify=false shape=record label="{Records Example - Long Line\n | Title - Shorter Line\nnojustify=false\l}"]
  d [nojustify=true shape=record label="{Records Example - Long Line\n | Title - Shorter Line\nnojustify=true\l}"]
  c -> d
}
有効な対象
  • グラフ
  • クラスタ
  • ノード
  • エッジ

Graphvizのコードベースで"nojustify"を検索してください

normalize

最終レイアウトの座標を正規化します。

type: 倍精度浮動小数点数 | ブール値、デフォルト: false

最初の点が原点に配置され、最初のエッジの角度が度数でnormalizeの値によって指定されるように、レイアウトを回転させます。

normalizeが数値でない場合、ブール値として評価され、true0度に相当します。

注意: 属性は最初に数値として評価されるため、01falsetrueには使用できません。

有効な対象
  • グラフ

注: neatofdpsfdptwopicircoのみ。

Graphvizのコードベースで"normalize"を検索してください

notranslate

レイアウトを原点に移動しないようにするかどうか。

型: bool、デフォルト: false

デフォルトでは、最終レイアウトは、境界ボックスの左下隅が原点になるように移動されます。

一部のノードが固定されている場合、またはユーザーがneato -nを実行する場合、これは煩わしい場合があります。

この移動を回避するには、notranslate=trueを設定します。

有効な対象
  • グラフ

注: neatoのみ。

Graphvizのコードベースで"notranslate"を検索してください

nslimit

ネットワークシンプレックスアプリケーションにおける反復回数を設定します。

型: 倍精度浮動小数点数

nslimitは、node x coordinatesの計算に使用されます。

定義されている場合、# iterations = nslimit * # nodes。定義されていない場合、# iterations = INT_MAX

有効な対象
  • グラフ

注: dotのみ。

Graphvizのコードベースで"nslimit"を検索してください

nslimit1

ネットワークシンプレックスアプリケーションにおける反復回数を設定します。

型: 倍精度浮動小数点数

nslimit1は、ノードのランキングに使用されます。

定義されている場合、# iterations = nslimit * # nodes。定義されていない場合、# iterations = INT_MAX

有効な対象
  • グラフ

注: dotのみ。

Graphvizのコードベースで"nslimit1"を検索してください

oneblock

circoグラフを1つの円周上に描画するかどうか。

型: bool、デフォルト: false

同じグラフのレンダリングの2つの例を示します。

例:複数のブロック
digraph G {
    layout="circo"
    oneblock=false

    N0 -> N1
    N1 -> N2
    N2 -> N3
    N3 -> N4
    N4 -> N0
    
    N4 -> N5
    N5 -> N6
    N6 -> N7
    N7 -> N8
    N8 -> N5
}
例:1つのブロック
digraph G {
    layout="circo"
    oneblock=true

    N0 -> N1
    N1 -> N2
    N2 -> N3
    N3 -> N4
    N4 -> N0
    
    N4 -> N5
    N5 -> N6
    N6 -> N7
    N7 -> N8
    N8 -> N5
}
有効な対象
  • グラフ

注: circo のみ。

Graphvizのコードベースで"oneblock"を検索してください

ordering

ノードエッジの左右の順序を制約します。

型: string、デフォルト: ""

ordering="out"の場合、ノードのアウトエッジ(ノードをテールノードとするエッジ)は、入力で定義されているのと同じ順序で左から右に表示される必要があります。

ordering="in"の場合、ノードのインエッジは、入力で定義されているのと同じ順序で左から右に表示される必要があります。

グラフまたはサブグラフ属性として定義されている場合、その値はグラフまたはサブグラフ内のすべてのノードに適用されます。

グラフ属性はノード属性よりも優先されることに注意してください。

有効な対象
  • グラフ
  • ノード

注: dotのみ。

Graphvizのコードベースで"ordering"を検索してください

orientation

ノードシェイプの回転角度、またはグラフの方向

type: 倍精度浮動小数点数 | 文字列、デフォルト: 0.0""、最小値: -360.0

ノードで使用する場合:多角形ノードシェイプを回転させる角度(度単位)。多角形の辺の数に関係なく、0度の回転では底辺が水平になります。グラフで使用する場合:"[lL]*"の場合、グラフの方向を横向きに設定します。

rotateが定義されていない場合にのみ使用されます。

ノードの方向
digraph {
  layout=neato       # Render in a circular layout
  node [shape=house] # Make all nodes have 'house' shape

    0 [orientation=0]
   45 [orientation=45]
   90 [orientation=90]
  135 [orientation=135]
  180 [orientation=180]
  225 [orientation=225]
  270 [orientation=270]
  315 [orientation=315]
  0 -> 45 -> 90 -> 135 -> 180 -> 225 -> 270 -> 315 -> 0
}
横向きのグラフの方向
digraph {
  orientation=L
  a -> b
}

関連項目

有効な対象
  • ノード
  • グラフ

Graphvizのコードベースで"orientation"を検索してください

outputorder

ノードとエッジを描画する順序を指定します。

type: 出力モード、デフォルト: breadthfirst

有効な対象
  • グラフ

Graphvizのコードベースで"outputorder"を検索してください

overlap

ノードの重なりを削除するかどうか、およびどのように削除するかを決定します。

type: 文字列 | ブール値、デフォルト: true

ノードはまずsep属性を使用して拡大されます。trueの場合、重なりは維持されます。値が"scale"の場合、xとyを均一にスケーリングすることで重なりが削除されます。値が"false"に変換され、利用可能な場合、近接グラフベースのアルゴリズムであるPrismを使用してノードの重なりが削除されます。これは、overlap=prismを使用して明示的に呼び出すこともできます。この手法は、overlap_scaling属性によって制御される小さなスケーリングアップから開始し、重なりのかなりの部分を削除できます。prismオプションは、オプションの非負の整数サフィックスも受け入れます。これは、重なり除去の試行回数を制御するために使用できます。デフォルトでは、overlap="prism"overlap="prism1000"と同等です。overlap="prism0"を設定すると、スケーリングフェーズのみが実行されます。

Prismが利用できない場合、またはGraphvizのバージョンが2.28より前の場合、"overlap=false"はVoronoiベースの手法を使用します。これは、"overlap=voronoi"を使用して明示的に呼び出すことができます。

overlap="scalexy"の場合、xとyは個別にスケーリングされて重なりが削除されます。

overlap="compress"の場合、レイアウトは、重なりが導入されることなく、可能な限り縮小されます。もちろん、最初から重なりがないことを前提としています。

注記 overlapの残りの許容値は、現在、アスペクト比が悪くなる可能性のあるアルゴリズムに対応しています。さらに、"ortho*""portho*"の使用は非推奨です。

値が"vpsc"の場合、重なり除去は、ノードの重なりを削除しながらノードの変位を最小限にする二次最適化として行われます。

値が"orthoxy"または"orthoyx"の場合、重なりは、x軸とy軸の2つの制約問題を最適化することで移動されます。サフィックスは、最初に処理される軸を示します。値が"ortho"の場合、手法は"orthoxy"に似ていますが、2つのパス間のバイアスを減らすヒューリスティックが使用されます。値が"ortho_yx"の場合、手法は"ortho"と同じですが、xとyの役割が逆になります。値"portho""porthoxy""porthoxy"、および"portho_yx"は、前の4つの値に似ていますが、擬似直交順序のみが適用されます。

mode="ipsep"を使用してneatoによってレイアウトが行われた場合、overlap=ipsepを使用できます。この場合、重なり除去の制約はレイアウトアルゴリズム自体に組み込まれます。注:現時点では、1レベルのクラスタリングのみをサポートしています。

fdpsfdpを除き、レイアウトはデフォルトでoverlap="true"を想定しています。Fdpはまず、組み込みのフォースディレクテッド手法を用いた複数のパスの処理を行い、重なりを解消しようとします。そのため、fdpは整数プレフィックスにコロンをつけたoverlapを受け付け、試行回数を指定します。プレフィックスがない場合、初期試行は実行されません。コロンの後に何もない場合、上記のいずれの方法も試行されません。デフォルトでは、fdpoverlap="9:prism"を使用します。overlap="true"overlap="0:true"overlap="0:"はすべて、重なり除去を無効にすることに注意してください。

デフォルトで、sfdpoverlap="prism0"を使用します。

Voronoi法とprism法を除き、これらの変換は元のレイアウトの直交順序を保持します。つまり、2つのノードのx座標が元々同じであれば、同じままになり、一方のノードのx座標が元々もう一方のノードのx座標より小さければ、この関係は変換後のレイアウトでも維持されます。y座標についても同様の性質が成り立ちます。これは"porth*"の場合には完全に当てはまりません。これらの場合、直交順序はエッジで関連付けられたノード間でのみ保持されます。

有効な対象
  • グラフ

注: fdpneatosfdpcircotwopiのみ。

Graphvizのコードベースで"overlap"を検索してください

overlap_scaling

ノードの重なりを減らすために、レイアウトを係数でスケーリングします。

型: double、デフォルト: -4、最小値: -1e+10

overlap=prismの場合、レイアウトはこの係数でスケーリングされ、ノードの重なりがかなり解消され、ノードの重なり除去が高速化され、グラフの形状を維持する能力が向上します。

  • overlap_scalingが負の場合、レイアウトは平均ラベルサイズの-1*overlap_scaling倍にスケーリングされます。

  • overlap_scalingが正の場合、レイアウトはoverlap_scaling倍にスケーリングされます。

  • overlap_scalingが0の場合、スケーリングは行われません。

有効な対象
  • グラフ

注: prismneatosfdpfdpcircotwopiのみ。

Graphvizのコードベースで"overlap_scaling"を検索してください

overlap_shrink

重なり除去アルゴリズムがレイアウトのサイズを縮小するために圧縮パスを実行するかどうか

型: bool、デフォルト: true

有効な対象
  • グラフ

注: prismのみ。

Graphvizのコードベースで"overlap_shrink"を検索してください

pack

グラフの各連結成分を個別にレイアウトし、その後グラフをまとめて配置するかどうか。

型: bool | int、デフォルト: false

packが整数値を持つ場合、これは各部分の周りのマージンサイズ(ポイント単位)として使用されます。それ以外の場合は、デフォルトのマージン8が使用されます。

packfalseとして解釈される場合、グラフ全体がまとめてレイアウトされます。パッキングの粒度と方法は、packmode属性によって影響を受けます。

twopiなど、常にパッキングを行うレイアウトでは、pack属性はマージンの設定のみに使用されます。

packの値がtrue(大文字と小文字を区別しない)または非負の整数の場合、packはtrueとして扱われます。

有効な対象
  • グラフ

Graphvizのコードベースで"pack"を検索してください

packmode

連結成分をどのように配置するか

型: packMode、デフォルト: node

(packModeを参照)。packmodeを定義すると、pack=trueを設定した場合と同様に、自動的にパッキングが有効になります。

有効な対象
  • グラフ

Graphvizのコードベースで"packmode"を検索してください

pad

グラフを描画するために必要な最小領域の周囲に描画領域を拡張するインチ数

型: double | point、デフォルト: 0.0555 (4ポイント)

padが単一のdoubleの場合、xとyの両方のpad値は指定された値に設定されます。この領域は描画の一部であり、必要に応じて背景色で塗りつぶされます。

通常、特に背景色を使用する場合、ノードやエッジが描画領域の境界に接することを避けるために、美的理由から小さなpadが使用されます。

有効な対象
  • グラフ

Graphvizのコードベースで"pad"を検索してください

page

出力ページの幅と高さ(インチ単位)

型: double | point

値が1つだけ指定されている場合、これは幅と高さの両方に使用されます。

pageが設定されていて、レイアウトのサイズよりも小さい場合、指定されたページサイズの矩形配列のページがレイアウト上に重ねられ、原点が左下隅に揃えられ、レイアウトがページに分割されます。次に、ページはpagedirの順序で1つずつ生成されます。

現時点では、pageはPostScript出力でのみ機能します。他のタイプの出力では、別のツールを使用して出力を複数の出力ファイルに分割するか、viewportを使用して複数のファイルを作成します。

有効な対象
  • グラフ

Graphvizのコードベースで"page"を検索してください

pagedir

ページが出力される順序

型: pagedir、デフォルト: BL

pageが設定されていて適用可能な場合にのみ使用されます。

8つの行または列の主要な順序のいずれかに限定されます。

有効な対象
  • グラフ

Graphvizのコードベースで"pagedir"を検索してください

pencolor

クラスタの周囲の境界ボックスを描画するために使用される色

タイプ: color、デフォルト: black

pencolorが定義されていない場合、colorが使用されます。

colorが定義されていない場合、bgcolorが使用されます。

bgcolorが定義されていない場合、デフォルトが使用されます。

クラスタは、定義されている場合、ルートグラフの属性を継承することに注意してください。したがって、ルートグラフでpencolorが定義されている場合、これはクラスタに対して設定されたcolorまたはbgcolor属性をオーバーライドします。

有効な対象
  • クラスタ

Graphvizのコードベースで"pencolor"を検索してください

penwidth

線と曲線を引くために使用されるペンの幅(ポイント単位)を指定します。

型: double、デフォルト: 1.0、最小値: 0.0

エッジとクラスタの境界を含みます。

penwidthの値はサブクラスタによって継承され、テキストには影響しません。

2008年1月31日以前は、penwidth=Wの効果は、style仕様の一部としてsetlinewidth(W)を含めることで実現されていました。

両方の属性が設定されている場合、penwidthが使用されます。

有効な対象
  • クラスタ
  • ノード
  • エッジ

Graphvizのコードベースで"penwidth"を検索してください

peripheries

多角形とクラスタ境界で使用される周辺部の数を設定します。

型: int、デフォルト: <shape default> (ノード)、1 (クラスタ)、最小値: 0

ユーザー定義の形状はボックス形状の一種として扱われるため、デフォルトの周辺部の値は1であり、ユーザー定義の形状はバウンディング矩形内に描画されます。peripheries=0を設定すると、これが無効になります。

peripheries=1はクラスタの最大値です。

有効な対象
  • ノード
  • クラスタ

Graphvizのコードベースで"peripheries"を検索してください

pin

ノードをノードの指定された入力位置に保持します。

型: bool、デフォルト: false

trueの場合、ノードに入力時にpos属性がある場合、neatoまたはfdpはノードが入力位置から移動するのを防ぎます。このプロパティは、pos属性自体でも指定できます(point型を参照)。

注: 実装のアーティファクトにより、2014年2月27日以前は、最終座標が原点に変換されていました。そのため、(x)dot形式またはプレーン形式で出力された座標を見ると、固定されたノードは入力時に与えられたものと同じ出力座標を持ちません。これが重要な場合、簡単な回避策は固定されたノードの座標を維持することです。古い座標と新しい座標のベクトル差は変換を与え、これはすべての適切な座標から減算できます。

2014年2月27日以降、neatoではnotranslate=trueを設定することで、この変換を回避できます。ただし、グラフでノードの重なり除去またはアスペクト比の変更ratioが指定されている場合、ノード座標は変更される可能性があります。

有効な対象
  • ノード

注記:neatofdpのみ。

Graphvizのコードベースで"pin"を検索してください

pos

ノードの位置、またはスプライン制御点

型: point | splineType

ノードの場合、位置はノードの中心を示します。出力では、座標はポイント単位です。

neatofdpでは、posを使用してノードの初期位置を設定できます。デフォルトでは、座標はインチ単位と見なされます。ただし、-sコマンドラインフラグを使用して異なる単位を指定できます。出力座標はポイント単位であるため、Graphvizプログラムによってレイアウトされたグラフの出力をneatoまたはfdpに供給する場合、ほとんどの場合-sフラグが必要です。

-nコマンドラインフラグがneatoで使用されている場合、位置はレイアウトプログラムのいずれかによって設定されており、ポイント単位であると見なされます。したがって、neato -n-sフラグを必要とせずに正しく入力を受け入れることができ、実際にはそのようなフラグを無視します。

有効な対象
  • エッジ
  • ノード

注記:neatofdpのみ。

Graphvizのコードベースで"pos"を検索してください

quadtree

使用するクアドツリー方式

型: quadType | bool、デフォルト: normal

  • quadtree=truequadtree=normalと同じです。
  • quadtree=falsequadtree=noneと同じです。
  • quadtree=2quadtree=fastと同じです。
有効な対象
  • グラフ

注:sfdpのみ。

Graphvizのコードベースで"quadtree"を検索してください

quantum

quantum > 0.0の場合、ノードラベルの寸法はquantumの整数倍に丸められます。

型: double、デフォルト: 0.0、最小値: 0.0

有効な対象
  • グラフ

Graphvizのコードベースで"quantum"を検索してください

rank

サブグラフ内のノードに関するランク制約

型: rankType

  • rank="same"の場合、すべてのノードは同じランクに配置されます。
  • rank="min"の場合、すべてのノードは最小ランクに配置されます。
  • rank="source"の場合、すべてのノードは最小ランクに配置され、最小ランクにあるノードはrank="source"またはrank="min"を持つサブグラフに属します。

rank="max"rank="sink"についても同様の基準が当てはまります。

(注: 最小ランクは最上部または左端、最大ランクは最下部または右端です。)

詳細については、Stack Overflowのこの回答を参照してください。

有効な対象
  • サブグラフ

注: dotのみ。

Graphvizのコードベースで"rank"を検索してください

rankdir

グラフレイアウトの方向を設定します。

型: rankdir、デフォルト: TB

たとえば、rankdir="LR"の場合、サイクルがない限り、エッジT -> H;は左から右に配置されます。デフォルトでは、グラフは上から下にレイアウトされます。

この属性は、レコードノードの解釈方法を決定することにも副作用があります。レコード形状を参照してください。

上から下へ(デフォルト)
digraph {
    rankdir="TB"
    a -> b -> c;
}
下から上へ
digraph {
    rankdir="BT"
    a -> b -> c;
}
左から右へ
digraph {
    rankdir="LR"
    a -> b -> c;
}
右から左へ
digraph {
    rankdir="RL"
    a -> b -> c;
}
有効な対象
  • グラフ

注: dotのみ。

Graphvizのコードベースで"rankdir"を検索してください

ranksep

ランク間の分離を指定します。

型: double | doubleList、デフォルト: 0.5 (dot) 、1.0 (twopi) 、最小値: 0.02

dotでは、ノード間の希望ランク間隔をインチ単位で設定します。

これは、あるランクのノードの下端と次のランクのノードの上端間の最小垂直距離です。値にequallyが含まれる場合、すべてのランクの中心が均等に間隔をあけて配置されます。例えば、ranksep="1.2 equally"のように、両方の設定が可能です。

twopiでは、この属性は同心円の半径間隔を指定します。twopiの場合、ranksepはdoubleのリストにもできます。最初のdoubleは内円の半径を、2番目のdoubleは最初の円から2番目の円への半径増加分を指定します。円の数よりも数が少ない場合、最後の数が残りの増分として使用されます。

有効な対象
  • グラフ

注: dottwopiのみ。

Graphvizコードベースで"ranksep"を検索

ratio

描画のアスペクト比(描画高さ/描画幅)を設定します。

型: double | string

これは、size属性の制約が適用される前に調整されることに注意してください。

さらに、計算では通常ノードのサイズが無視されるため、最終的な描画サイズは希望するサイズとほぼ一致するだけです。

ratioが数値の場合、ratioは希望のアスペクト比として扱われます。その後、実際のアスペクト比が希望の比率よりも小さい場合、描画の高さが拡大されて希望の比率が達成されます。実際のアスペクト比が希望の比率よりも大きい場合、描画の幅が拡大されます。

ratio="fill"size属性が設定されている場合、ノードの位置はxとyの両方で個別にスケーリングされ、最終的な描画が指定されたサイズを正確に満たすようになります。両方のsize値が描画の幅と高さよりも大きい場合、各ノードの両方の座標値がそれに応じて拡大されます。ただし、いずれかのサイズ寸法が描画の対応する寸法よりも小さい場合、最終的な描画がsizeで指定されたものと同じアスペクト比を持つように、一方の寸法が拡大されます。次に、レンダリングされると、レイアウトは両方の寸法で均一に縮小されて指定されたsizeに適合しますが、これによりノードとテキストも縮小される可能性があります。これはユーザーが望むものではないかもしれませんが、描画サイズを縮小するためにノードを許容できる方法で再配置するという難しい問題を回避します。

ratio="compress"size属性が設定されている場合、dotは初期レイアウトを圧縮して指定されたサイズに適合させようとします。これにより、ノードのパッキングがより緊密になりますが、バランスと対称性が低下します。この機能はdotでのみ動作します。

ratio="expand"の場合、size属性が設定され、グラフの幅と高さが両方ともsizeの値よりも小さい場合、少なくとも1つの寸法がsizeに正確に適合するまで、ノードの位置が均一に拡大されます。これは、sizeを希望のサイズとして使用するとは異なることに注意してください。ここでは、エッジが生成される前に描画が拡大され、すべてのノードとテキストのサイズは変更されません。

ratio="auto"の場合、page属性が設定され、グラフを1ページに描画できない場合、sizeは「理想的な」値に設定されます。

具体的には、特定の寸法のサイズは、その寸法のページサイズの最小の整数倍であり、現在のサイズの少なくとも半分になります。次に、2つの寸法は新しいサイズに個別にスケーリングされます。この機能はdotでのみ動作します。

有効な対象
  • グラフ

Graphvizコードベースで"ratio"を検索

rects

レコードのフィールドの矩形、ポイント単位

型: rect

有効な対象
  • ノード

注:書き込み専用。

Graphvizコードベースで"rects"を検索

regular

trueの場合、ポリゴンを正多角形に強制します。

型: bool、デフォルト: false

trueの場合、ポリゴンの頂点は、ノードの中心を中心とする円上に位置します。

digraph {
    "pentagon1" [shape="pentagon"];
    "pentagon2" [shape="pentagon" regular=true]
    "hexagon1" [shape="hexagon"];
    "hexagon2" [shape="hexagon" regular=true];
}
有効な対象
  • ノード

Graphvizコードベースで"regular"を検索

remincross

複数のクラスタがある場合、エッジ交差最小化を2回実行するかどうか。

型: bool、デフォルト: true

有効な対象
  • グラフ

注: dotのみ。

Graphvizコードベースで"remincross"を検索

repulsiveforce

拡張Fruchterman-Reingoldを使用した反発力の強度

型: double、デフォルト: 1.0、最小値: 0.0

力誘導モデル。1より大きい値は、クラスタリングが少ないという代償を払って、歪み効果を軽減する傾向があります。

有効な対象
  • グラフ

注:sfdpのみ。

Graphvizコードベースで"repulsiveforce"を検索

resolution

dpiの同義語。

型: double、デフォルト: 96.00.0

有効な対象
  • グラフ

注: bitmap出力、svgのみ。

Graphvizコードベースで"resolution"を検索

root

レイアウトの中心として使用するノードを指定します。

型: string | bool、デフォルト: <none> (グラフ) 、false (ノード)

レイアウトの中心は、生成されたスパニングツリーのルートになります。

  • グラフ属性として、ノードの名前を指定します。
  • ノード属性として、そのノードを中心ノードとして使用する必要があることを指定します。

twopiでは、rootは実際には中心ノードになります。circoでは、ノードを含むブロックが接続されたコンポーネントの描画の中心になります。定義されていない場合、twopiは最も中心的なノードを選択し、circoはランダムなノードを選択します。

ルート属性が空の文字列として定義されている場合、twopiはルートノードとして選択されたノードの名前にリセットします。

twopiでは、おそらくコンポーネントごとに1つずつ、複数のルートを持つことができます。コンポーネント内の複数のノードがrootとしてマークされている場合、twopiは1つを選択します。

有効な対象
  • グラフ
  • ノード

注: twopicircoのみ。

Graphvizコードベースで"root"を検索

rotate

rotate=90の場合、描画の方向を横向きに設定します。

型: int、デフォルト: 0

回転
digraph {
  rotate=90
  a -> b
}

関連項目

有効な対象
  • グラフ

Graphvizコードベースで"rotate"を検索

rotation

最終レイアウトを指定された角度だけ反時計回りに回転させます。

型: double、デフォルト: 0

有効な対象
  • グラフ

注:sfdpのみ。

Graphvizコードベースで"rotation"を検索

samehead

同じヘッドとsamehead値を持つエッジは、ヘッド上の同じ点を指します。

型: string、デフォルト: ""

ループには影響しません。

Graphviz 8.0.1より前では、各ノードは最大5つの異なるsamehead値を持つことができます。

制限事項を参照してください。

sametailも参照してください。

有効な対象
  • エッジ

注: dotのみ。

Graphvizコードベースで"samehead"を検索

sametail

同じテールとsametail値を持つエッジは、テールの同じ点を指します。

型: string、デフォルト: ""

ループには影響しません。

Graphviz 8.0.1より前では、各ノードは最大5つの異なるsametail値を持つことができます。

制限事項を参照してください。

sameheadも参照してください。

有効な対象
  • エッジ

注: dotのみ。

Graphvizコードベースで"sametail"を検索

samplepoints

円/楕円ノードに使用されるポイント数を示します。

型: int、デフォルト: 8 (出力) 、20 (オーバーラップとイメージマップ)

入力グラフがvertices属性を定義し、出力がdotまたはxdotの場合に使用されます。

オーバーラップするノードを回避するためにレイアウトを調整する場合、neatoでも同じ役割を果たし、イメージマップでも同じ役割を果たします。

有効な対象
  • ノード

Graphvizコードベースで"samplepoints"を検索

scale

初期レイアウト後に指定された係数でレイアウトをスケーリングします。

型: double | point

1つの数値のみが指定されている場合、その数値は幅と高さを両方ともスケーリングします。

有効な対象
  • グラフ

注: neatotwopiのみ。

Graphvizコードベースで"scale"を検索

searchsize

ネットワークシンプレックス中に、最小カット値のエッジを探す際に、負のカット値を持つエッジの最大検索数。

型: int、デフォルト: 30

有効な対象
  • グラフ

注: dotのみ。

Graphvizコードベースで"searchsize"を検索

sep

ノードのオーバーラップを削除するときに、ノードの周囲に残すマージン。

型: addDouble | addPoint、デフォルト: +4

これにより、ノード間の最小の非ゼロ距離が保証されます。

属性がプラス記号'+'で始まる場合、加算マージンが指定されます。つまり、"+w,h"は、ノードのバウンディングボックスを左右でwポイント、上下でhポイント増加させます。

プラス記号がない場合、ノードはx座標で1 + w、y座標で1 + hスケーリングされます。

1つの数値のみが指定されている場合、これは両方の寸法に使用されます。

設定されていないがesepが定義されている場合、sep値はesep値を0.8で割った値に設定されます。esepが設定されていない場合、デフォルト値が使用されます。

例: 間隔なし
graph {
    layout="fdp"
    sep="0"
    A -- B
    B -- C
    C -- D
    D -- A
}
例: 3の間隔
graph {
    layout="fdp"
    sep="3"
    A -- B
    B -- C
    C -- D
    D -- A
}
有効な対象
  • グラフ

注: fdpneatosfdp、osage、circotwopiのみ。

Graphvizコードベースで"sep"を検索

shape

ノードの形状を設定します。

型: shape、デフォルト: ellipse

digraph {
    "pentagon" [shape="pentagon"];
    "hexagon" [shape="hexagon"];
}
有効な対象
  • ノード

Graphvizコードベースで"shape"を検索

shapefile

ユーザーが提供したノードコンテンツを含むファイル。

型: string、デフォルト: ""

(非推奨).

ノードのshape="box"を設定します。シェイプファイル内の画像は長方形でなければなりません。サポートされているイメージ形式とファイルの使用方法の正確なセマンティクスは、出力形式によって異なります。詳細については、イメージ形式外部PostScriptファイルを参照してください。

この使用方法には1つの例外があります。shape="epsf"の場合、shapefileはPostScriptでノードの定義を含むファイル名を指定します。定義されたグラフィックには、必要な境界を含むすべてのノードコンテンツが含まれている必要があります。詳細については、外部PostScriptファイルを参照してください。

ローカルリソースへのパスのみがサポートされています。リモートリソースへのURLを使用する場合は、dot_url_resolve.pyスクリプトを参照してください。

有効な対象
  • ノード

Graphvizコードベースで"shapefile"を検索

showboxes

デバッグ用のガイドボックスを出力します。

タイプ: int、デフォルト: 0、最小値: 0

showboxes=1の場合、routesplinesの先頭に、showboxes=2の場合、最後に、PostScriptでガイドボックスを出力します。(デバッグ、TBモードのみ!)

有効な対象
  • エッジ
  • ノード
  • グラフ

注: dotのみ。

Graphvizコードベースで"showboxes"を検索

sides

shape=polygon の場合の辺の数

型: int、デフォルト: 4、最小値: 0

例: 3~6辺の多角形
graph {
  Triangle  [shape=polygon sides=3]
  Rectangle [shape=polygon sides=4]
  Pentagon  [shape=polygon sides=5]
  Hexagon   [shape=polygon sides=6]
}
有効な対象
  • ノード

Graphvizコードベースで"sides"を検索

size

図面の最大幅と高さ(インチ単位)

型: double | point

数値を1つだけ指定した場合、幅と高さの両方に使用されます。

指定されており、図面が指定されたサイズよりも大きい場合、図面は均一に縮小されて、指定されたサイズ内に収まるようになります。

sizeが感嘆符"!"で終わる場合、sizeは必要な最小サイズとして扱われます。この場合、図面の両方の寸法がsizeよりも小さい場合、少なくとも一方の寸法がsizeの対応する寸法に等しくなるまで、図面は均一に拡大されます。

size属性とratio属性の間には、ある程度の相互作用があります。

有効な対象
  • グラフ

Graphvizコードベースで"size"を検索

skew

shape=polygon のためのスキュー係数

型: double、デフォルト: 0.0、最小値: -100.0

正の値は多角形の上部を右に、負の値は左に傾けます。

distortionも参照してください。

graph {
  SkewLeft  [shape=polygon sides=4 skew=-.5]
  SkewRight [shape=polygon sides=4 skew=.5]
}
有効な対象
  • ノード

Graphvizコードベースで"skew"を検索

smoothing

ノードの不均一な分布を滑らかにする後処理ステップを指定します。

型: smoothType、デフォルト: "none"

有効な対象
  • グラフ

注:sfdpのみ。

Graphvizコードベースで"smoothing"を検索

sortv

packmodeによるパッキングのためのグラフコンポーネントのソート順序。

タイプ: int、デフォルト: 0、最小値: 0

packmodeが配列パッキングを示している場合、sortvはコンポーネント間の挿入順序を指定し、値が小さい方が先に挿入されます。

有効な対象
  • グラフ
  • クラスタ
  • ノード

Graphvizコードベースで"sortv"を検索

splines

エッジがどのように、そして場合によってはどのように表現されるかを制御します。

型: bool | string

splines=trueの場合、エッジはノードの周囲にルーティングされたスプラインとして描画されます。splines=falseの場合、エッジは線分として描画されます。splines=noneまたはsplines=""の場合、エッジはまったく描画されません。

(2007年3月1日) splines=linesplines=splineは、それぞれsplines=falsesplines=trueの同義語として使用できます。

さらに、splines=polylineは、エッジを折れ線として描画する必要があることを指定します。

(2010年9月28日) splines=orthoは、エッジを軸に整列したセグメントの折れ線としてルーティングする必要があることを指定します。現在、ルーティングはポート、またはdotの場合のエッジラベルを処理しません。

(2012年9月25日) splines=curvedは、エッジを湾曲した弧として描画する必要があることを指定します。

splines=none
splines=""
splines=line
splines=false
splines=polyline splines=curved
splines=ortho splines=spline
splines=true

デフォルトでは、splinesは設定されていません。これがどのように解釈されるかは、レイアウトエンジンによって異なります。dotの場合、デフォルトではエッジをスプラインとして描画します。他のすべてのレイアウトでは、デフォルトではエッジを線分として描画します。

これらの後者のレイアウトでは、splines="true"の場合、ノードが重ならないことが必要です(overlapを参照)。fdpをレイアウトに使用し、splines="compound"の場合、エッジはノードだけでなくクラスタも避けて描画されます。

有効な対象
  • グラフ

Graphvizコードベースで"splines"を検索

start

ノードの初期レイアウトを決定するために使用されるパラメータ

型: startType、デフォルト: ""

設定されていない場合、ノードは単位正方形内にランダムに配置されます。同じシードが常に乱数生成器に使用されるため、初期配置は再現可能です。

次の例は同じグラフですが、startの値が異なるため、レンダリングが異なります。

乱数シードを1に設定
graph {
    layout="fdp"
    start=1
    A -- B; B -- C; C -- D; D -- A
}
乱数シードを2に設定、グラフの見え方が異なります
graph {
    layout="fdp"
    start=2
    A -- B; B -- C; C -- D; D -- A
}
有効な対象
  • グラフ

注: neatofdpsfdpのみ。

Graphvizコードベースで"start"を検索

style

グラフのコンポーネントのスタイル情報を設定します。

型: style、デフォルト: ""

クラスタサブグラフの場合、style="filled"の場合、クラスタボックスの背景が塗りつぶされます。

コンポーネントのデフォルトのスタイル属性が設定されている場合、個々のコンポーネントはstyle=""を使用して通常のデフォルトに戻すことができます。たとえば、グラフが

digraph {
  edge [style="invis"]
  a -> b
}

すべてのエッジを非表示にする場合、b->cエッジはこれに対して次のようにオーバーライドできます。

digraph {
  edge [style="invis"]
  a -> b
  b -> c [style=""]
}

もちろん、コンポーネントはstyle属性を目的の値に明示的に設定することもできます。

有効な対象
  • エッジ
  • ノード
  • クラスタ
  • グラフ

Graphvizコードベースで"style"を検索

stylesheet

SVG出力で使用されるXMLスタイルシートを指定するURLまたはパス名

型: string、デフォルト: ""

CSSセレクタを使用して要素をスタイル設定するには、classと組み合わせて使用します。

関連項目

有効な対象
  • グラフ

注:svgのみ。

Graphvizコードベースで"stylesheet"を検索

tail_lp

エッジのテールラベルの位置(ポイント単位)。

タイプ: point

位置はラベルの中心を示します。

有効な対象
  • エッジ

注:書き込み専用。

Graphvizコードベースで"tail_lp"を検索

tailclip

trueの場合、エッジのテールはテールのノードの境界にクリップされます。

型: bool、デフォルト: true

それ以外の場合は、エッジの端はノードの中心、または該当する場合はポートの中心になります。

有効な対象
  • エッジ

Graphvizコードベースで"tailclip"を検索

tailhref

tailURLの同義語。

型: escString、デフォルト: ""

関連項目

有効な対象
  • エッジ

注: map、svgのみ。

Graphvizコードベースで"tailhref"を検索

taillabel

エッジのテール付近に配置されるテキストラベル

タイプ: lblString、デフォルト: ""

制限事項を参照してください。

有効な対象
  • エッジ

Graphvizコードベースで"taillabel"を検索

tailport

テールのノードのどこにエッジのテールを接続するかを示します。

タイプ: portPos、デフォルト: center

制限事項を参照してください。

有効な対象
  • エッジ

Graphvizコードベースで"tailport"を検索

tailtarget

tailURLリンクに使用するブラウザウィンドウ

型: escString、デフォルト: <none>

エッジにtailURLがある場合、tailtargetは、URLに使用するブラウザのウィンドウを決定します。

tailtarget=_graphvizを設定すると、存在しない場合は新しいウィンドウが開き、存在する場合は再利用されます。

未定義の場合、targetの値が使用されます。

有効な対象
  • エッジ

注: map、svgのみ。

Graphvizコードベースで"tailtarget"を検索

tailtooltip

エッジのテールに添付されたツールチップ注釈

型: escString、デフォルト: ""

エッジにtailURL属性がある場合にのみ使用されます。

有効な対象
  • エッジ

注: cmapsvgのみ。

Graphvizコードベースで"tailtooltip"を検索

tailURL

定義されている場合、tailURLはエッジのテールラベルの一部として出力されます。

型: escString、デフォルト: ""

また、この値はテールのノード付近で使用され、URLの値をオーバーライドします。

制限事項を参照してください。

関連項目

有効な対象
  • エッジ

注: map、svgのみ。

Graphvizコードベースで"tailURL"を検索

target

オブジェクトにURLがある場合、この属性はURLに使用するブラウザのウィンドウを決定します。

型: escString | string、デフォルト: <none>

W3Cドキュメントを参照してください。

有効な対象
  • エッジ
  • ノード
  • グラフ
  • クラスタ

注: map、svgのみ。

Graphvizコードベースで"target"を検索

TBbalance

浮動(ルーズ)ノードを移動するrank

型: string、デフォルト: ''

有効なオプション

  • "min": 浮動(ルーズ)ノードを最小のrankに移動します。
  • "max": 浮動(ルーズ)ノードを最大のrankに移動します。
  • それ以外の場合は、浮動ノードはどこにでも配置されます。

名前がTBbalance(「トップボトムバランス」)であるにもかかわらず、これは左右のランクでも機能します(例:rankdir=LR)。

デフォルトの動作
digraph {
    layout="dot"

    { rank="min"; "min" }
    { rank="max"; "max" }
    "min" -> "middle" -> "max"
    
    "Floater 1"
    "Floater 2"
}
浮動ノードは最小ランクに移動されます。
digraph {
    layout="dot"
    TBbalance="min"

    { rank="min"; "min" }
    { rank="max"; "max" }
    "min" -> "middle" -> "max"
    
    "Floater 1"
    "Floater 2"
}
浮動ノードは最大ランクに移動されます。
digraph {
    layout="dot"
    TBbalance="max"

    { rank="min"; "min" }
    { rank="max"; "max" }
    "min" -> "middle" -> "max"
    
    "Floater 1"
    "Floater 2"
}
有効な対象
  • グラフ

注: dotのみ。

Graphvizコードベースで"TBbalance"を検索

tooltip

ノード、エッジ、クラスタ、またはグラフに添付されたツールチップ(マウスホバーテキスト)

型: escString、デフォルト: ""

tooltipが設定されていない場合、Graphvizは定義されている場合はオブジェクトのlabelを使用します。

labelがレコード仕様またはHTMLのようなラベルである場合、結果のツールチップは役に立たない場合があります。この場合、ツールチップが生成される場合は、ユーザーがtooltip属性を明示的に設定する必要があります。

ツールチップ
digraph {
  label="Graph Label"
  tooltip="Graph Tooltip"
  subgraph cluster_a {
    label="Cluster Label"
    tooltip="Cluster Tooltip"
    Node1 [tooltip="Node1 Tooltip"]
    Node1 -> Node2 [label="Edge" tooltip="Edge Tooltip"]
  }
}

関連項目

有効な対象
  • ノード
  • エッジ
  • クラスタ
  • グラフ

注: cmapsvgのみ。

Graphvizコードベースで"tooltip"を検索

truecolor

内部ビットマップレンダリングがトゥルーカラーカラーモデルに依存するか、

型: bool

カラーパレットを使用するか。

truecolorが設定されていない場合、グラフ内のいくつかのノードにshapefileプロパティがない限り、truecolorは使用されません。出力モデルは可能な限り入力モデルを使用します。

カラーパレットを使用すると、ビットマップの作成時のメモリ使用量が減り、出力ファイルのサイズが小さくなります。

通常、truecolorモデルを指定する必要があるのは、グラフが256色を超える場合のみです。ただし、カラーパレットでbgcolor=transparentを使用する場合、フォントアンチエイリアシングが文字の周囲のぼやけた白い領域として表示される場合があります。truecolor=trueを使用すると、この問題を回避できます。

有効な対象
  • グラフ

注:ビットマップ出力のみ。

Graphvizコードベースで"truecolor"を検索

URL

デバイス依存の出力に組み込まれたハイパーリンク

型: escString、デフォルト: <none>

現在、ps2cmapi*mapsvg形式で使用されています。これらのすべての形式では、URLをノード、エッジ、およびクラスタに添付できます。URL属性は、ps2cmapi*map形式のルートグラフにも添付できます。これは、前者では相対URLの基本URLとして、後者ではデフォルトのイメージマップファイルとして機能します。

svgcmapximap出力の場合、ノードのアクティブ領域は表示されている画像です。たとえば、境界が描画されていない塗りつぶされていないノードは、ラベルでのみアクティブになります。その他の出力では、アクティブ領域はバウンディングボックスです。クラスタのアクティブ領域は、そのバウンディングボックスです。エッジの場合、アクティブ領域はエッジがヘッドノードとテールノードに接触する小さな円です。さらに、svgcmapximapでは、アクティブ領域にはエッジを近似する細いポリゴンが含まれています。円は関連するノードと重なる可能性があり、エッジのURLが優先されます。エッジにラベルがある場合、これもアクティブになります。最後に、エッジにヘッドラベルまたはテールラベルがある場合、これもアクティブになります。

エッジの場合、属性headURLtailURLlabelURLedgeURLにより、エッジのさまざまな部分を制御できます。

2つのエッジのアクティブ領域が重なる場合、どの領域が優先されるかは指定されていません。

関連項目

例:リンク付きのゴッホの絵画
graph {
  label="Vincent van Gogh Paintings"
  URL="https://en.wikipedia.org/wiki/Vincent_van_Gogh"

  subgraph cluster_self_portraits {
    URL="https://en.wikipedia.org/wiki/Portraits_of_Vincent_van_Gogh"
    label="Self-portraits"

    "Self-Portrait with Grey Felt Hat" [URL="https://www.vangoghmuseum.nl/en/collection/s0016V1962"]
    "Self-Portrait as a Painter" [URL="https://www.vangoghmuseum.nl/en/collection/s0022V1962"]
  }
  
  subgraph cluster_flowers {
    URL="https://en.wikipedia.org/wiki/Sunflowers_(Van_Gogh_series)"
    label="Flowers"

    "Sunflowers" [URL="https://www.nationalgallery.org.uk/paintings/vincent-van-gogh-sunflowers"]
    "Almond Blossom" [URL="https://www.vangoghmuseum.nl/en/collection/s0176V1962"]
  }
}
有効な対象
  • エッジ
  • ノード
  • グラフ
  • クラスタ

注記:map、postscriptsvgのみ。

Graphvizコードベースで"URL"を検索

vertices

ノードの多角形の頂点の座標をインチ単位で設定します。

型: pointList

ノードが多角形で、出力がdotまたはxdotの場合に使用されます。

ノードが楕円または円の場合、samplepoints属性が出力に影響します。

有効な対象
  • ノード

注:書き込み専用。

Graphvizコードベースで"vertices"を検索

viewport

最終図面上のクリッピングウィンドウ

型: viewPort、デフォルト: ""

viewportは、size属性を優先します。ビューポートの幅と高さは、出力の最終サイズを正確に指定します。

有効な対象
  • グラフ

Graphvizコードベースで"viewport"を検索

voro_margin

ボロノイ技法の調整マージン

型: double、デフォルト: 0.05、最小値: 0.0

ボロノイ技法での拡張のためのマージンを許容するために図面を拡大する係数。dim' = (1+2*margin)*dim

有効な対象
  • グラフ

注: neatofdpsfdptwopicircoのみ。

Graphvizコードベースで"voro_margin"を検索

weight

エッジの重み

型: int | double、デフォルト: 1、最小値: 0(dot,twopi)1(neato,fdp)

dotでは、重みが重いほど、エッジは短く、まっすぐになり、より垂直になります。

twopiの場合、weight=0は、ルートからのスパニングツリー構築において、そのエッジを使用しないことを示します。

その他のレイアウトでは、重みが大きいほど、レイアウトはエッジの長さをlen属性で指定された長さに近づけようとします。

dotにおける重みは整数でなければなりません。

エッジの重み
digraph {
  root -> a
  root -> b [weight=2]
  root -> c [weight=3]
}
有効な対象
  • エッジ

Graphvizのコードベースで"weight"を検索してください

width

ノードの幅(インチ)

型: double、デフォルト: 0.75、最小値: 0.01

これはノードの初期の最小幅として扱われます。fixedsizeがtrueの場合、これがノードの最終的な幅になります。そうでない場合、ノードラベルに収まるのに必要な幅が大きい場合、ラベルを含むようにノードの幅が増加します。

出力形式がdotの場合、widthに与えられた値が最終的な値になります。

ノードシェイプが正方形の場合、幅と高さが同一になります。

  • 幅または高さが明示的に設定されている場合、その値が使用されます。
  • 幅と高さが両方とも明示的に設定されている場合、2つの値のうち大きい方が使用されます。
  • どちらも明示的に設定されていない場合、2つのデフォルト値のうち小さい方が使用されます。
幅の例
digraph {
  "d" # default
  "1in" [width=1]
  "2in" [width=2]
}
有効な対象
  • ノード

Graphvizのコードベースで"width"を検索してください

xdotversion

出力で使用されるxdotのバージョンを決定します。

型: string

xdot出力でのみ使用されます。

設定されていない場合、graphvizは出力に使用されるxdotバージョンをこの属性に設定します。

有効な対象
  • グラフ

注: xdotのみ。

Graphvizのコードベースで"xdotversion"を検索してください

xlabel

ノードまたはエッジの外部ラベル

タイプ: lblString、デフォルト: ""

  • ノードの場合、ラベルはノードの外側に、しかし近くに配置されます。
  • エッジの場合、ラベルはエッジの中央近くに配置されます。これは、dotにおいて、エッジラベルの使用がレイアウトを歪めることがある問題を回避するのに役立ちます。
  • その他のレイアウトでは、xlabel属性はlabel属性の同義語と見なすことができます。

これらのラベルは、すべてのノードとエッジが配置された後に追加されます。

ラベルは、ノードや他のラベルと重ならないように配置されます。これは、すべてのラベルを配置できない可能性があることを意味します。すべてのラベルの配置を強制するには、forcelabels=trueに設定します。

ノードとエッジの外部ラベル
digraph {
  "⚡" [xlabel="Sparks"]
  "🔥" [xlabel="Fires"]
  "⚡"->"🔥" [xlabel="Sometimes" label="Cause"]
}
有効な対象
  • エッジ
  • ノード

Graphvizのコードベースで"xlabel"を検索してください

xlp

外部ラベルの位置(ポイント単位

タイプ: point

位置はラベルの中心を示します。

有効な対象
  • ノード
  • エッジ

注:書き込み専用。

Graphvizのコードベースで"xlp"を検索してください

z

3Dレイアウトと表示のためのZ座標値

型: double、デフォルト: 0.0、最小値: -MAXFLOAT-1000

非推奨: pos属性とdimenおよび/またはdimを使用して寸法を指定してください。

グラフにdimが3(またはそれ以上)に設定されている場合、neatoは、ノードのpos属性も定義されている場合、その初期位置のz座標にノードのz値を使用します。

入力にz値が指定されていない場合でも、例えばnode[z=""]を使用してノードのz属性を宣言する必要があります。これにより、出力時にz値が取得されます。したがって、dim=3を設定してもzを宣言しないと、neato -Tvrmlはグラフを3Dでレイアウトしますが、レンダリングのためにレイアウトをxy平面に投影します。z属性が宣言されている場合、最終的なレンダリングは3Dになります。

有効な対象
  • ノード

Graphvizのコードベースで"z"を検索してください