点的簇形状和填充颜色

时间:2013-12-05 14:35:32

标签: graphviz

我正在尝试构建此图表 image就是这样的结果:

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属性但没有发生任何事情。

这是因为我用于约束的不可见边缘还是与我对节点排序的事实有关?

由于

1 个答案:

答案 0 :(得分:2)

尝试生成图表时,graphviz实际上会打印很多警告:

  

警告:2已经在排名中......   ...

节点不能是多个子图的一部分。以下一行

{ rank = same; 1; 2; d1;13;}

实际上定义了一个子图。其中一些节点已经在cluster0中使用,因此警告。

如果您评论以{ rank=same; ...开头的所有行,则警告消失,并显示群集的背景颜色。当然,现在图表可能存在其他问题......