我在Graphviz中有一个简单的有向图,有两种节点和边。每种都有自己的颜色。我的问题是,我想保留绘制图形的方式,但只是改变颜色。但是,当我在两个节点定义中交换节点名称时,图形会更改其布局。
node [shape = circle, width = 0.95, fixedsize = true, style = filled, fillcolor = palegreen] 3 "4-5" 7 "8-9" 10 18 19
node [shape = circle, width = 0.95, fixedsize = true, style = filled, fillcolor = grey] 11 12 "13-14"
有没有办法强制它进行一次静态布局?
答案 0 :(得分:8)
定义节点的顺序会对布局产生影响。
如果您想保留布局并仅更改节点的颜色,那么您需要保持节点(第一次)出现的顺序并且仅更改它们的{{1属性。
例如:
fillcolor
导致
您可以使用digraph g {
node [shape = circle, width = 0.95, fixedsize = true, style = filled, fillcolor = palegreen];
3;
"4-5";
7;
"8-9";
10 [fillcolor = grey];
18;
19;
// new default fillcolor
node [fillcolor = grey];
11;
12 [fillcolor = palegreen];
"13-14";
}
指令指定默认属性,如果需要,可以覆盖特定节点上的默认值(node [fillcolor = grey]
)