edge attributes setting

NAME

Attribute settings of edges.

SYNOPSIS

node_A -> node_B -> … [ attribute ];

node_A -> node_B -> … [ attribute = value ];

node_A -> node_B -> … [ attribute = value , attribute = value , … ];

DESCRIPTION

Set attributes related to edges.

Separate by ‘,’ to use multiple attributes. If strings which is used to specify attributes include white-spaces or symbols, quotation is needed.

ATTRIBUTES

label = String

Show short strings on the edge.

style = Type of edge line

Specify type of edge line. Default is solid.

dotted
Dotted line.
dashed
Dashed line.
none
Edge is not shown.
Number, Number, …
Specify line length and space length alternately with comma separated.

New in version 0.9.6.

hstyle = Type of head shape

Specify head shape of edge.

New in version 0.7.3.

generalization
generalization
composition
composition
aggregation
aggregation
color = #RRGGBB or colorname

Specify edge color. Default is black. If none is specified, draw a transparent arrow.

dir = direction

Specify direction of edge arrow.

none

Not draw an arrow, just connect nodes.

This is equivalent for A -- B.

forward

Draw an arrow from left node to right node or upside node to downside node.

This is equivalent for A -> B.

back

Draw an arrow from right node to left node or downside node to upside node.

This is equivalent for A <- B.

both

Draw arrows at both side.

This is equivalent for A <-> B.

folded

Fold the edge.

New in version 0.7.5.

textcolor = #RRGGBB or colorname

Specify edge label color. Default is black.

New in version 0.9.2.

thick

Make the edge thick.

New in version 0.9.7.

fontsize = Integer

Specify edge label font size. Default is 11.

New in version 0.9.7.

EXAMPLES

label attribute to edges

blockdiag {
   // Set labels to edges. (short text only)
   A -> B -> C [label = "foo"];
   C -> A [label = "bar"];
}

style attribute to edges

blockdiag {
   // Set style to edges.
   A -> B [style = dotted];
   B -> C [style = dashed];
   C -> D [style = none];
   D -> E [style = "3,3,3,3,15,3"];
}

hstyle attribute to edges

blockdiag {
   // Set head shapes to edges.
   A -> B [hstyle = generalization];
   B -> C [hstyle = composition];
   C -> D [hstyle = aggregation];
}

color attribute to edges

blockdiag {
   // Set color to edges.
   A -> B [color = "#0000FF"];
   B -> C [color = "red"];
}

dir attribute to edges

blockdiag {
   // Set arrow direction to edges.
   A -> B [dir = none];
   B -> C [dir = forward];
   C -> D [dir = back];
   D -> E [dir = both];

   // Same meaning
   F -- G -> H <- I <-> J;
}

folded attribute to edges

blockdiag {
   A -> B -> C -> D -> E;

   // fold edge at C to D (D will be layouted at top level; left side)
   C -> D [folded];
}

text color attribute to edges

blockdiag {
   A -> B[label=foo, textcolor=pink];
}

font size attribute to edges

blockdiag {
   A -> B [label='text', fontsize=16];
}

thick attribute to edges

blockdiag {
   A -> B -> C;
        B -> D[thick];
}