2011-08-14 46 views
2

具有源自Graphviz记录字段的单个边线非常直接并且易于通过端口和指南针点进行控制。如何从单个Graphviz记录字段创建多个边?

我有一个需要,但是,有多个边缘来自单个记录字段。 DOT语言的语法似乎不支持这一点。子图可能适用于我,但记录的描述实际上是数据记录的最佳表示形式。

回答

3

有多个边缘从单一的记录字段

我真的不知道为什么点语言的语法不会允许它起源。例如:

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

字段f0f2兼得多于一个出边。

enter image description here

顺便说一句,虽然创纪录的形状仍然可以工作,它好像类似HTML的标签替换它们。从graphivz web site

基于记录的形状已经在很大程度上被取代,并通过类似HTML的标签,大大 一概而论。也就是说,可以考虑使用shape = none和类似HTML的标签 shape = record。

+0

嗯,我没有直接使用点,我一直在使用pydot。我必须进入并检查我的节点标签生成代码是否正确。 (感谢您的HTML技巧,将研究这一点。) –