0

在使用 graphviz 描述图形时,我有时会发现我希望两个顶点看起来比我选择的布局引擎更靠近它们放置它们。有没有办法暗示我希望他们更接近?

我最感兴趣的是两个连接顶点的情况,因此针对该情况的答案很好。


具体例子:

digraph G {
  node [shape="circle"];
  Start [shape="none" label=""];
  C [shape="doublecircle"];
  Start -> A;
  A -> B [label="0,1"];
  B -> C [label="0,1"];
  C -> D [label="0,1"];
  D -> D [label="0,1"];
}

在此处输入图像描述 我想要顶点Start并且A更接近。

4

2 回答 2

1

你不能那样做,但你可以把几乎所有其他东西都放大两倍,这是一个开始。(但你不能将边缘的大小增加到自身)

digraph G {
  rankdir=LR
  edge[minlen=2 fontsize=28 arrowsize=2 penwidth=2]
  node[fontsize=28 height=1 penwidth=2]
  graph[fontsize=28 penwidth=2]
  node [shape="circle"];
  Start [shape="none" label=""];
  C [shape="doublecircle"];
  Start -> A[minlen=1]; // not twice the size to get the requested effect
  A -> B [label="0,1"];
  B -> C [label="0,1"];
  C -> D [label="0,1"];
  D -> D [label="0,1"];
}

在此处输入图像描述

于 2020-08-08T18:55:54.370 回答
0

[这个答案特别适用于dot ]

  • 没有明确设置或更改边长的边级属性
  • 图级nodesep属性设置相同等级的两个节点之间的最小距离

所以:

digraph G {
  nodesep=.17
  {
  rank=same
  node [shape="circle"];
  Start [shape="none" label=""];
  C [shape="doublecircle"];
  Start -> A;
  A -> B [label="0,1"];
  B -> C [label="0,1"];
  C -> D [label="0,1"];
  D -> D [label="0,1"];
  }
}

产生:
在此处输入图像描述

要增加其他节点之间的距离,您可以在标签中添加空格。

我也不喜欢它,但是这个变化:

  B -> C [label="       0,1       "]; // pad to make label (and edge) longer

产生了这个:
在此处输入图像描述

于 2020-08-08T19:09:31.563 回答