Next: Clusters, Up: Graph Language Reference [Contents]
You can define and redefine styles. As with signalling charts a style is a package
of attributes with a name (see Defining Styles).
Any attribute can be assigned to styles (even label
).
To apply a style to a node, edge or subgraph, use its name alone enclosed in square
brackets, like a->b::Label [style];
. You can have another square bracket after or before
with additional attributes, like a->b::Label [color=red][style][arrowhead=onormal];
.
Graphviz has a default style for edges, nodes, cluster subgraphs and graphs
named edge
, node
, cluster
and graph
, respectively.
The default style for graph, node and edge can be set using the graph
,
node
and edge
commands as well, such as
node [shape=record];
Msc-generator allows you to collapse cluster subgraphs. Such collapsed subgraphs
show up as nodes, but will have cluster_collapsed
as the default style
(boxes with double lines in the plain design). Similar edges that were pointed to
nodes inside the collapsed cluster, will have the style edge_collapsed
.
If you want to adjust an attribute for all versions of an arrow symbol (forward, backward,
bidir and arrowless) list all of them in the defstyle
command, such as in
defstyle ->>, <<-, <<->>, --- [color=red];
Note that no quotation marks are needed for these special style names. (Otherwise non- alphanumeric names need to be enclosed in quotation marks.) Specifically, Msc-generator has the following refinement styles for arrows: ‘->’, ‘=>’, ‘>’, ‘>>’, ‘->>’ and ‘==>’, to represent single, double, dotted, dashed line; double arrowhead and double line, respectively. The last arrow type is provided for you to re-define, by default it is the same as ‘=>’. You can also use them backwards (such as ‘<-’) or bidirectionally (‘<->’). There is also a directionless variant for both, whithout arrowheads: ‘--’, ‘==’, ‘..’, ‘++’, ‘---’ and ‘===’.
Note that when using the edge
command to set the default style for edges,
not only the edge
style is modified, but all refinement styles, too.
This is to produce the same output as graphviz for the same input files.
If you want to modify only the edge
style, use the defstyle edge
command.
Msc-generator supports design definitions, for graphs as well. Use the defdesign
command to define a named design, like below.
defdesign omegapple { defstyle node [color="#d23f7a", style=filled, fillcolor="#c20a50:#f3cedc", gradientangle=270, fontcolor=white, penwidth=2, label_format="\b"]; defstyle cluster [color="#c20a50", style=dashed, fontcolor="#c20a50"]; defstyle edge [penwidth=2, fontcolor="#270210"]; }
You can invoke such designs via the usedesign
command like usedesign opegapple
.
You can also select among the designs on the GUI.
Thus, in summary the actual attributes of an element are set using the following logic. (There are minor variances for each language.)
Next: Clusters, Up: Graph Language Reference [Contents]