12

我有以下点/neato 文件...

graph G
{

  node [color=Red]

  r01
  r02

  r03

  r04
  r05

  r06
  r07
  r08
  r09

  r10
  r11

  node [color=Blue]

  p01
  p02

  p03

  p04
  p05
  p06

  p07
  p08
  p09
  p10
  p11

  p12
  p13

  r01 -- r02
  r01 -- p01
  r01 -- p02
  r02 -- p01
  r02 -- p02
  p01 -- p02

  r03 -- p03

  r04 -- r05
  r04 -- p04
  r04 -- p05
  r04 -- p06
  r05 -- p04
  r05 -- p06
  p04 -- p05
  p04 -- p06

  r06 -- r07
  r06 -- r08
  r06 -- r09
  r06 -- p07
  r06 -- p08
  r06 -- p09
  r06 -- p10
  r06 -- p11
  r07 -- r08
  r07 -- r09
  r07 -- p07
  r07 -- p08
  r07 -- p09
  r07 -- p10
  r07 -- p11
  r08 -- r09
  r08 -- p07
  r08 -- p08
  r08 -- p09
  r08 -- p10
  r08 -- p11
  r09 -- p07
  r09 -- p08
  r09 -- p09
  r09 -- p10
  r09 -- p11
  p07 -- p08
  p07 -- p09
  p07 -- p10
  p07 -- p11
  p08 -- p09
  p08 -- p10
  p08 -- p11
  p09 -- p10
  p09 -- p11
  p10 -- p11

  r10 -- r11
  r10 -- p12
  r10 -- p13
  r11 -- p12
  r11 -- p13
  p12 -- p13
}

...我从中使用neato.

neato -Tpng -o graph-g.png graph-g.txt

总的来说,neato做得不错,但图中最大的连接组件看起来很荒谬。我该怎么做才能让这看起来更好?我的标准是没有节点应该重叠,并且连接的节点之间应该有足够的距离,以便您可以看到它们之间的一些边缘。

4

2 回答 2

18

如果将以下内容添加到图表顶部:

overlap=false;
splines=true;

结果是:

graphviz 输出与样条没有重叠

不仅节点不再重叠,而且边缘也在节点周围路由。

于 2011-10-06T08:26:24.207 回答
2

Graphviz 有一个overlap属性(在此处查找),有时可以成功应用。

当我在您的第一个属性overlap = false上方插入时,结果如下图。node

图使用重叠 = false

当我改为插入overlap = scalexy同一位置时,我得到以下信息。

使用重叠 = scalexy 的图

不幸的是,您仍然有通过 node 的边p11。希望也可以找到一种解决方法。

您可以在本页overlap = false底部附近看到一个变坏的示例。

于 2011-10-06T05:56:28.663 回答