如何从单个Graphviz记录字段创建多个边缘?

3

从Graphviz记录字段开始的单个边非常简单,并且可以通过端口和方向控制。

然而,我需要将多个边从单个记录字段开始。DOT语言的语法似乎不支持此功能。子图可能适用于我,但记录的描绘确实是数据记录的最佳表示。

1个回答

3

一个记录字段可以有多条边起点

我不确定为什么dot语言的语法不允许这样做。例如:

digraph g{
  r[label="<f0> left|<f1> middle|<f2> right", shape=record];
  r:f0 -> {a;b;};
  r:f2 -> c;
  r:f2 -> d;
}

字段f0f2都有多个出边。
顺便提一下,尽管记录形状仍然有效,但似乎HTML样式的标签正在替代它们。来自graphivz网站的信息:
引用:

基于记录的形状已经被HTML样式的标签大量取代和泛化。也就是说,不再使用shape=record,而是可以考虑使用shape=none和类似HTML的标签。


嗯,我没有直接使用dot,而是一直在使用pydot。我得进去检查一下我的节点标签生成代码是否正确。(谢谢HTML提示,我会研究一下的。) - Marc C

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