【问题标题】:How to set the 'spring' force with graphviz for compact graph layouts如何使用 graphviz 为紧凑的图形布局设置“弹簧”力
【发布时间】:2011-07-29 22:35:30
【问题描述】:

我正在使用graphviz 生成图表,但我遇到了一个问题 - 有几个非常大的节点 - 以及大量的小节点。我尝试使用neatofdp 生成png,但两者都生成非常大的图形,其中大部分是空白的(节点相距很远)。有没有办法为这些工具设置更大的弹簧“强度”以迫使节点靠得更近?

【问题讨论】:

  • 知道这个帖子很老了:如果使用 sfdp/fdp,有一个名为 K 的属性,用于此目的。

标签: graphviz neato


【解决方案1】:

使用neato时,您可以使用overlapsep 属性。

overlap可以设置为falsecompressscalexymore

sep 可以在与前面的加号一起使用时指定附加边距,否则边距通过将节点的大小缩放为 1 + sep 的值来定义。好像是默认的

不要犹豫发布示例图表。不知道您的特定图表,我做了一个包含一些大节点和一些小节点的示例:

layout=neato;
overlap=scalexy; //false, compress, ...
sep="+1"; // 0.1, +1

node[label="Large node", width=2, height=2];
l1; l2; l3;
node[label="\N", width=0.5, height=0.3];
1 -> l1;
2 -> l1;
3 -> l1;
4 -> l1;
5 -> l1;
5 -> l2;
6 -> l2;
7 -> l2;
8 -> l2;
8 -> l3;
9 -> l3;
10 -> l3;

【讨论】:

  • sep="+1" 已修复“发现意外字符 '+'”
  • @qxo 看起来现在你必须把它放在引号之间 sep="+1";
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-12
  • 1970-01-01
  • 2018-12-14
  • 1970-01-01
  • 2023-03-10
相关资源
最近更新 更多