В принципе, есть три возможности
- атрибуты набор по умолчанию до создания узла
- глобально - действует для всех последующих творений узла
- локально в подграфе - действителен только для создания узлов внутри подграфа
- создавать узлы с явными атрибутами
- присваивать атрибуты группе узлов после создания.
Опции 1 и 2 допускают только одну группу на узел, поскольку создание - это одно событие. Вариант 3 позволяет различную группировку для каждого задания.
набор по умолчанию атрибуты глобально, до создания узла атрибутов
digraph {
x // node with current defaults
// set default
node [shape=box color=red]
// create with default values
a1, a2
// set default
node [shape=circle color=blue]
// create with default values
b1, b2
y // node with current defaults
x->{a1 a2}
a1->{b1 b2}
a2->{b1 b2}
{b1,b2}->y
}
набор по умолчанию локально перед созданием узла
digraph {
x // node with current defaults
{
// set default
node [shape=box color=red]
// create with default values
a1, a2
}
{
// set default
node [shape=circle color=blue]
// create with default values
b1, b2
}
y // node with current defaults
x->{a1 a2}
a1->{b1 b2}
a2->{b1 b2}
{b1,b2}->y
}
создавать узлы с явными признаками
digraph {
x // node with current defaults
// create with explicit attributes
a1, a2 [shape=box color=red]
// create with explicit attributes
b1, b2 [shape=circle color=blue]
y // node with current defaults
x->{a1 a2}
a1->{b1 b2}
a2->{b1 b2}
{b1,b2}->y
}
правопреемником атрибуты к группе узлов после создания
digraph {
x // node with current defaults
// create with default values
a1, a2, b1, b2
// assign shape
a1, a2 [shape=box]
b1, b2 [shape=circle]
// assign color
a1, b2 [color=red]
b1, a2 [color=blue]
y // node with current defaults
x->{a1 a2}
a1->{b1 b2}
a2->{b1 b2}
{b1,b2}->y
}
Вау, это очень полно. Благодаря! – halloleo