我正在尝试构建此图表 就是这样的结果:
digraph g {
//Initial settings
rankdir="LR";
margin="0,0";
node[fontsize=16,fixedsize=true,width=0.7,shape=circle];
edge[fontsize=16];
ratio=fill;
//Start point for arrow
start [shape=point,style="invis",width=0];
start -> 0;
subgraph cluster0 {
style=filled;
fillcolor=green;
node [fontsize=16,fixedsize=true,width=0.7,shape=circle, style=filled, color = black, fillcolor=lightgrey];
//FW Transitions;
13 -> 12;
13 -> 9;
13 -> 7;
9 -> 11;
//BW Transitions
edge [color=green];
12 -> 13 ;
11 -> 13;
11 -> 7;
//LVL Transitions
edge[color=red;style=solid];
7->9;
}
//FW Transitions
2 -> 4 -> 6 -> 8 -> 10 ;
0 -> 13 [style=dotted];
1 -> 3 -> 5;
0 -> 2;
0 -> 1 ;
//BW Transitions
edge [color=green,constraint=false];
5->7;
edge[constraint=true]
10 -> 12;
//LVL Transitions
edge[color=red;style=solid];
//CONSTRAINT transitions
node [shape=plaintext];
edge[style=invis];
d0 -> d1 -> d2 -> d3 -> d4 -> d5
2 -> 13 -> 1;
d2 -> 4 -> 12 -> 9 -> 7 -> 3;
//Ranking, order by distance from start
{ rank = same; 0; d0; }
{ rank = same; 1; 2; d1;13;}
{ rank = same; 4; 3; 12; 9; 7; d2;}
{ rank = same; 6; 5; d3;11;}
{ rank = same; 8; d4;}
{ rank = same; 10; d5;}
//Final states
//6[shape=doublecircle];
//7 [shape=doublecircle];
}
除了群集填充颜色外,一切似乎都能正常工作。我希望群集中填充一种颜色来指出它。我尝试了颜色和fillcolor属性但没有发生任何事情。
这是因为我用于约束的不可见边缘还是与我对节点排序的事实有关?
由于
答案 0 :(得分:2)
尝试生成图表时,graphviz实际上会打印很多警告:
警告:2已经在排名中...... ...
节点不能是多个子图的一部分。以下一行
{ rank = same; 1; 2; d1;13;}
实际上定义了一个子图。其中一些节点已经在cluster0中使用,因此警告。
如果您评论以{ rank=same; ...
开头的所有行,则警告消失,并显示群集的背景颜色。当然,现在图表可能存在其他问题......