在Graphviz中,节点相同但颜色不同

4

我在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"

有没有一种方法可以强制将其设置为一个静态布局?
1个回答

8
节点的定义顺序确实会影响布局。如果您想保留布局,只更改节点的颜色,则需要保持节点出现的(首先)顺序,并仅更改它们的 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";
}

导致结果为

fillcolor nodes

您可以使用 node [fillcolor = grey] 指令指定默认属性,并在需要时在特定节点上覆盖默认值12 [fillcolor = palegreen])。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接