graphviz中边缘和节点之间的距离

问题描述

| 如何配置边缘与节点之间的距离(红色),即节点的外形(蓝色)?     

解决方法

您可以考虑使用以下一种技术来避免创建自定义节点形状。为了确切地得到您想要的东西,您可能需要进一步解决一些口味问题。 使用类似HTML的标签的此技术的优势在于,改变矩形内部和外部的空间变得很简单,只需更改内部点数(此处为4)和外部点数(此处为16)即可。
digraph {

node [shape=none]

O [label=<
<TABLE BORDER=\"0\" CELLBORDER=\"1\" CELLSPACING=\"16\" CELLPADDING=\"4\">
<TR><TD WIDTH=\"70\">\\N</TD></TR>
</TABLE>
>]

{a,b,c,d} -> O

}
结果: 您可以更改BORDER和CELLBORDER参数以显示或隐藏矩形。您可以调整其厚度,尽管只能为1点的倍数。我使用了WIDTH参数来强制宽度与高度的比率,从而导致所有箭头的对齐。否则,一些技巧会遇到不可见的外部矩形的边。     ,就像其他答案所说的那样,这并不是一件容易的事。结合使用高度,宽度,固定大小,标签位置和边距节点参数,您可能会得到想要的任何效果。边距是最好的选择,您正在寻找扩大该距离的方法,但是要使其最小化,则需要使用其他参数。例如,此图的箭头几乎触及\'O \'节点的文本。
digraph {
  node [shape=\"none\" width=.2 height=.2 fixedsize=\"true\" labelloc=\"top\"];

  a -> O;
  b -> O;
  c -> O;
  d -> O;
}
或者,如果您真的想付出努力,则可以创建一个自定义节点形状,然后执行您想做的任何事情。     ,这是不可能的AFAIK。 唯一可用的选项是使用
headclip
将边缘移到节点的中心或外部形状的边缘(如您在示例中所做的那样)。 您可以尝试通过将某些填充填充到节点中,并将其边缘放置在群集的(不可见)边界上,从而为节点添加一些填充:
digraph {
  compound=true;
  subgraph cluster1 {
        style=invis;
        2;
    }
    1 -> 2[lhead=cluster1];
}
希望有人对此有更好的了解...     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...