All Articles

DOT言語のリファレンスを動かして確認する。

  • 【Graph】 グラフ
  • Node ノード
  • 【Edge】 エッジ
  • 【Subgraph】 サブグラフ
  • 【Cluster Subgraph】 クラスターサブグラフ

【Graph】 グラフの属性

ラベルに関係するグラフの属性

graph G {
    graph [
        fontcolor=red
        label="ラベル"
        href="https://tech-memo.yonayona.biz/"
        fontsize=32
        fontname="Courier"
    ];
}

Graph#label

ラベルをlblString型を使って指定します。

Graph#labeljust

ラベルの水平方向の位置を指定します。 下記の値が指定できます。

  • r:右端に配置します。
  • l:左端に配置します。
  • other:中央に配置します。 デフォルトでは、c:中央が設定されています。

Graph#labelloc

ラベルの垂直方向の位置を指定します。 下記の値が指定できます。

  • t:上部に配置します。
  • b:下部に配置します。 デフォルトでは、b:下部が設定されています。 また、サブグラフはGraphで設定された値を継承します。

Graph#href [出力方式:svg, postscript, map]

ラベルをクリックした時のURLをescString型を使って指定します。

Graph#fontcolor

ラベルの文字色をcolor型を使って指定します。

Graph#fontsize

ラベルの文字サイズをdouble型を使って指定します。

  • 最小値:1.0
  • デフォルト値:14.0

Graph#fontname

ラベルの文字サイズをstring型を使って指定します。

  • デフォルト値:"Times-Roman" fontname

Graphの未分類項目

  • Damping G double 0.99 0.0 neato only
  • K GC double 0.3 0 sfdp, fdp only
  • URL ENGC escString svg, postscript, map only
  • _background G string
  • bb G rect write only
  • bgcolor GC color colorList
  • center G bool false
  • charset G string "UTF-8"
  • clusterrank G clusterMode local dot only
  • colorscheme ENCG string ""
  • comment ENG string ""
  • compound G bool false dot only
  • concentrate G bool false
  • defaultdist G double 1+(avg. len)*sqrt(|V|) epsilon neato only
  • dim G int 2 2 sfdp, fdp, neato only
  • dimen G int 2 2 sfdp, fdp, neato only
  • diredgeconstraints G string bool false neato only
  • dpi G double 96.0 0.0 svg, bitmap output only
  • epsilon G double .0001 * # nodes(mode == KK) .0001(mode == major) neato only
  • esep G addDouble addPoint +3 not dot
  • fontnames G string "" svg only
  • fontpath G string system-dependent
  • forcelabels G bool true
  • gradientangle NCG int ""
  • id GCNE escString "" svg, postscript, map only
  • imagepath G string ""
  • inputscale G double fdp, neato only
  • label_scheme G int 0 0 sfdp only
  • landscape G bool false
  • layerlistsep G string ","
  • layers G layerList ""
  • layerselect G layerRange ""
  • layersep G string " :\t"
  • layout G string ""
  • levels G int MAXINT 0.0 sfdp only
  • levelsgap G double 0.0 neato only
  • lheight GC double write only
  • lp EGC point write only
  • lwidth GC double write only
  • margin NCG double point
  • maxiter G int 100 * # nodes(mode == KK) 200(mode == major) 600(fdp) fdp, neato only
  • mclimit G double 1.0 dot only
  • mindist G double 1.0 0.0 circo only
  • mode G string major neato only
  • model G string shortpath neato only
  • mosek G bool false neato only
  • newrank G bool false dot only
  • nodesep G double 0.25 0.02
  • nojustify GCNE bool false
  • normalize G double bool false not dot
  • notranslate G bool false neato only
  • nslimit nslimit1 G double dot only
  • ordering GN string "" dot only
  • orientation G string ""
  • outputorder G outputMode breadthfirst
  • overlap G string bool true not dot
  • overlap_scaling G double -4 -1.0e10 prism only
  • overlap_shrink G bool true prism only
  • pack G bool int false
  • packmode G packMode node
  • pad G double point 0.0555 (4 points)
  • page G double point
  • pagedir G pagedir BL
  • quadtree G quadType bool normal sfdp only
  • quantum G double 0.0 0.0
  • rankdir G rankdir TB dot only
  • ranksep G double doubleList 0.5(dot) 1.0(twopi) 0.02 twopi, dot only
  • ratio G double string
  • remincross G bool true dot only
  • repulsiveforce G double 1.0 0.0 sfdp only
  • resolution G double 96.0 0.0 svg, bitmap output only
  • root GN string bool (graphs) false(nodes) circo, twopi only
  • rotate G int 0
  • rotation G double 0 sfdp only
  • scale G double point not dot
  • searchsize G int 30 dot only
  • sep G addDouble addPoint +4 not dot
  • showboxes ENG int 0 0 dot only
  • size G double point
  • smoothing G smoothType "none" sfdp only
  • sortv GCN int 0 0
  • splines G bool string
  • start G startType "" fdp, neato only
  • style ENCG style ""
  • stylesheet G string "" svg only
  • target ENGC escString string svg, map only
  • truecolor G bool bitmap output only
  • viewport G viewPort ""
  • voro_margin G double 0.05 0.0 not dot
  • xdotversion G string xdot only

Node ノードの属性

ラベルを変更する属性

Node#label

ノードのラベルを指定します。

Node#labelloc

ラベルの垂直方向の位置を指定します。 下記の値が指定できます。

  • t:上部に配置します。
  • b:下部に配置します。
  • c:中央部に配置します。 デフォルトでは、c:中央部が設定されています。 ノードの高さがラベルの高さよりも大きいときに効果が現れます。

ノードの見た目を変更する属性

Node#shape

ノードの形を設定する属性です。 デフォルトでは、ellipse:楕円が設定されています。

  • box:
  • polygon:
  • ellipse:
  • oval:
  • circle:
  • point:
  • egg:
  • triangle:
  • plaintext:
  • plain:
  • diamond:
  • trapezium:
  • parallelogram:
  • house:
  • pentagon:
  • hexagon:
  • septagon:
  • octagon:
  • doublecircle:
  • doubleoctagon:
  • tripleoctagon:
  • invtriangle:
  • invtrapezium:
  • invhouse:
  • Mdiamond:
  • Msquare:
  • Mcircle:
  • rect:
  • rectangle:
  • square:
  • star:
  • none:
  • underline:
  • cylinder:
  • note:
  • tab:
  • folder:
  • box3d:
  • component:
  • promoter:
  • cds:
  • terminator:
  • utr:
  • primersite:
  • restrictionsite:
  • fivepoverhang:
  • threepoverhang:
  • noverhang:
  • assembly:
  • signature:
  • insulator:
  • ribosite:
  • rnastab:
  • proteasesite:
  • proteinstab:
  • rpromoter:
  • rarrow:
  • larrow:
  • lpromoter:

Node#style

ノードの形や色の配置を設定できます。 下記の値を設定することができます。

  • solid: 実線で囲われたノード
  • dashed: 破線で囲われたノード
  • dotted: 点線で囲われたノード
  • bold: 太い実線で囲われたノード
  • rounded: 角丸のノード
  • diagonals: 対角線があるノード
  • filled: 指定した色で塗り潰されたノード
  • striped: ストライプ模様のノード
  • wedged: ノード
    solid [
        style=solid
    ]
    dashed [
        style=dashed
    ]
    dotted [
        style=dotted
    ]
    bold [
        style=bold
    ]
    rounded [
        style=rounded
    ]
    diagonals [
        style=diagonals
    ]
    filled [
        style=filled
    ]
    striped [
        style=striped
        color="yellow:blue"
    ]
    wedged [
        style=wedged
    ]

Node#color

ノードの色を設定します。 style属性の設定によって、色の変更箇所が変更されます。 デフォルトでは黒色になっています。 また、下記のようなcolorList記法を使うことでグラデーションを作ることができます。

    A [
        style =filled
        color = "yellow;0.3:blue"
    ]

Node#URL / Node#href [出力方式:svg, postscript, map]

ノードをクリックしたときにURLのページを開こうとします。 デフォルトでは何も設定されていないため、ノードをクリックしても反応しません。

Node#fontsize

ラベルの文字サイズをdouble型を使って指定します。

  • 最小値:1.0
  • デフォルト値:14.0

Node#fontcolor

ラベルの文字色を指定します。 下記のどちらかの値を設定できます。

  • 色名(red,black)
  • カラーコード(#ff6347)

Nodeの未分類項目

  • area NC double 1.0 >0 patchwork only
  • colorscheme ENCG string ""
  • comment ENG string ""
  • distortion N double 0.0 -100.0
  • fillcolor NEC color colorList lightgrey(nodes) black(clusters)
  • fixedsize N bool string false
  • fontname ENGC string "Times-Roman"
  • group N string "" dot only
  • height N double 0.5 0.02
  • id GCNE escString "" svg, postscript, map only
  • image N string ""
  • imagepos N string "mc"
  • imagescale N bool string false
  • layer ENC layerRange ""
  • margin NCG double point
  • nojustify GCNE bool false
  • ordering GN string "" dot only
  • orientation N double 0.0 360.0
  • penwidth CNE double 1.0 0.0
  • peripheries NC int shape default(nodes) 1(clusters) 0
  • pin N bool false fdp, neato only
  • pos EN point splineType
  • rects N rect write only
  • regular N bool false
  • root GN string bool (graphs) false(nodes) circo, twopi only
  • samplepoints N int 8(output) 20(overlap and image maps)
  • shapefile N string ""
  • showboxes ENG int 0 0 dot only
  • sides N int 4 0
  • skew N double 0.0 -100.0
  • sortv GCN int 0 0
  • target ENGC escString string svg, map only
  • tooltip NEC escString "" svg, cmap only
  • vertices N pointList write only
  • width N double 0.75 0.01
  • xlabel EN lblString ""
  • xlp NE point write only
  • z N double 0.0 -MAXFLOAT-1000

Edge エッジの属性

エッジの見た目を変更する属性

Edge#fontsize

ラベルの文字サイズをdouble型を使って指定します。

  • 最小値:1.0
  • デフォルト値:14.0

Edge#dir

矢じりを描画するための辺の種類を設定します。 これは、エッジのどの端を矢じりで装飾するかを示します。 矢じりの実際のスタイルは、Edge#arrowhead属性とEdge#arrowtail属性を使用して指定することができます。 指定できる値は下記の通りです。

  • forward:ヘッド接続点のみを表示します。
  • back:テール接続点のみを表示します。
  • both:ヘッド・テール両方の接続点を表示します。
  • none:接続点を表示しません。

Edge#edgeURL / Edge#edgehref

edgeURLが定義されている場合、これはエッジの非ラベル部分に使用されるリンクです。 この値は、エッジに定義されているURLよりも優先されます。 また、この値は、headURLまたはtailURLの値で上書きされない限り、headノードまたはtailノードの近くで使用されます。

Edge#edgetarget

エッジにURLまたはedgeURL属性がある場合、この属性は、エッジの非ラベル部分に添付されているURLに使用されるブラウザのウィンドウを決定します。 これを"_graphviz "に設定すると、まだ存在しない場合は新しいウィンドウを開き、存在する場合は再利用します。 未定義の場合は、ターゲットの値が使用されます。

Edge#edgetooltip

エッジの非ラベル部分に付けられるツールチップ注釈。 これは、エッジが URL または edgeURL 属性を持っている場合にのみ使用されます。

Edge#arrowhead/Edge#arrowtail

エッジとノードのヘッド/テール接続点の形を指定します。 Edge#dirが"back"または"both"の場合に、接続点は表示されます。 指定できる値は下記の通りです。

  • normal
  • inv
  • dot
  • invdot
  • odot
  • invodot
  • none
  • tee
  • empty
  • invempty
  • diamond
  • odiamond
  • ediamond
  • crow
  • box
  • obox
  • open
  • halfopen
  • vee

Edge#arrowsize

接続点の大きさを倍率で指定します。

Edge#headlabel/Edge#taillabel

Edge#headURL/Edge#tailURL Edge#headhref/Edge#tailhref

エッジのヘッダラベル・テールラベルをクリックしたときに指定したURLが開きます。

Edge#headlp/Edge#taillp

エッジのヘッダラベル・テールラベルの中心位置を指定します。

Edge#headclip/Edge#tailclip

ヘッダ・テールの境界をクリップするかどうかを設定します。 trueが設定されている場合、境界がクリップされます。 falseが設定されている場合、境界はクリップされません。

Edge#headport/Edge#tailport

Edge#headtarget/Edge#tailtarget

Edge#headtooltip/Edge#tailtooltip

Edgeの未分類項目

  • URL ENGC escString svg, postscript, map only
  • color ENC color colorList black
  • colorscheme ENCG string ""
  • comment ENG string ""
  • constraint E bool true dot only
  • decorate E bool false
  • fillcolor NEC color colorList lightgrey(nodes) black(clusters)
  • fontcolor ENGC color black
  • fontname ENGC string "Times-Roman"
  • gradientangle NCG int ""
  • href GCNE escString "" svg, postscript, map only
  • id GCNE escString "" svg, postscript, map only
  • label ENGC lblString "\N" (nodes) "" (otherwise)
  • labelURL E escString "" svg, map only
  • labelangle E double -25.0 -180.0
  • labeldistance E double 1.0 0.0
  • labelfloat E bool false
  • labelfontcolor E color black
  • labelfontname E string "Times-Roman"
  • labelfontsize E double 14.0 1.0
  • labelhref E escString "" svg, map only
  • labeltarget E escString svg, map only
  • labeltooltip E escString "" svg, cmap only
  • layer ENC layerRange ""
  • len E double 1.0(neato) 0.3(fdp) fdp, neato only
  • lp EGC point write only
  • nojustify GCNE bool false
  • penwidth CNE double 1.0 0.0
  • pos EN point splineType
  • samehead E string "" dot only
  • sametail E string "" dot only
  • showboxes ENG int 0 0 dot only
  • style ENCG style ""
  • target ENGC escString string svg, map only
  • tooltip NEC escString "" svg, cmap only
  • weight E int double 1 0(dot,twopi) 1(neato,fdp)
  • xlabel EN lblString ""
  • xlp NE point write only

Subgraph サブグラフの属性

  • rank S rankType dot only

Cluster Subgraph クラスターサブグラフの属性

クラスターサブグラフのラベルを変更する属性

Cluster Subgraph#label

サブグラフのラベルを設定します。

Cluster Subgraph#labeljust

ラベルの水平方向の位置を指定します。 下記の値が指定できます。

  • r:右端に配置します。
  • l:左端に配置します。
  • other:中央に配置します。 デフォルトでは、c:中央が設定されています。

Cluster Subgraph#labelloc

ラベルの垂直方向の位置を指定します。 下記の値が指定できます。

  • t:上部に配置します。
  • b:下部に配置します。 デフォルトでは、t:上部が設定されています。

クラスターサブグラフの見た目を変更する属性

Cluster Subgraph#fontsize

ラベルの文字サイズをdouble型を使って指定します。

  • 最小値:1.0
  • デフォルト値:14.0

Subgraphの未分類項目

  • K GC double 0.3 0 sfdp, fdp only
  • URL ENGC escString svg, postscript, map only
  • area NC double 1.0 >0 patchwork only
  • bgcolor GC color colorList
  • color ENC color colorList black
  • colorscheme ENCG string ""
  • fillcolor NEC color colorList lightgrey(nodes) black(clusters)
  • fontcolor ENGC color black
  • fontname ENGC string "Times-Roman"
  • gradientangle NCG int ""
  • href GCNE escString "" svg, postscript, map only
  • id GCNE escString "" svg, postscript, map only
  • layer ENC layerRange ""
  • lhead E string "" dot only
  • lheight GC double write only
  • lp EGC point write only
  • ltail E string "" dot only
  • lwidth GC double write only
  • margin NCG double point
  • minlen E int 1 0 dot only
  • nojustify GCNE bool false
  • pencolor C color black
  • penwidth CNE double 1.0 0.0
  • peripheries NC int shape default(nodes) 1(clusters) 0
  • sortv GCN int 0 0
  • style ENCG style ""
  • target ENGC escString string svg, map only
  • tooltip NEC escString "" svg, cmap only

http://www.graphviz.org/documentation/ https://melborne.github.io/2013/04/02/graphviz-layouts/