Graphviz 图形:箭头“;透过「;盒子,而不是;从-to";箱
我想让箭头穿过一个盒子,而不是从一个盒子到另一个盒子。有没有办法在graphviz中实现这一点(见下文) (为什么我要问:我有一些数据流图,其中一个实体的多个输出通过同一个实体传递到最后一个实体,graphviz输出如下所示:Graphviz 图形:箭头“;透过「;盒子,而不是;从-to";箱,graphviz,dot,Graphviz,Dot,我想让箭头穿过一个盒子,而不是从一个盒子到另一个盒子。有没有办法在graphviz中实现这一点(见下文) (为什么我要问:我有一些数据流图,其中一个实体的多个输出通过同一个实体传递到最后一个实体,graphviz输出如下所示: 例如,我觉得这不好,也不容易辨认。)这在graphviz中不存在 把A/B到C的边上的箭头省略掉怎么样 digraph G { node[shape=box]; {A;B} -> C [arrowhead=none]; C -> D
例如,我觉得这不好,也不容易辨认。)这在graphviz中不存在 把A/B到C的边上的箭头省略掉怎么样
digraph G {
node[shape=box];
{A;B} -> C [arrowhead=none];
C -> D;
C -> D;
}
编辑:除非你真的想这么做
。。。然后,您可以使用应具有交叉边的节点,在标签内定义要将边附着到的节点(在本例中为“ww”和“ee”),并使边不带箭头指向端口,以及使边带箭头离开端口,从而创建单个箭头穿过端口的假象(其本身不可见)
有向图G{
节点[shape=box];
C[标签=<
C
>];
A->C:ww:n[箭头=无];
B->C:ee:n[箭头=无];
C:ww:s->D;
C:ee:s->D;
}
为了获得更好的箭头曲线,我还为边缘定义了指南针点-指南针点为n/e/s/w,并确定边缘应该从哪一侧进入/离开。令人印象深刻!您能否详细说明一下第二个图形的工作原理?我假设我们定义了一个表,然后附加一个“无头”箭头指向表格并穿过表格?我为第二个图表添加了一些解释。请注意,这些类型的解决方案(黑客…)可能不适用于更大、更复杂的图表。
digraph G {
node[shape=box];
C[label=<
<TABLE BORDER="0" CELLBORDER="0" CELLSPACING="0" CELLPADDING="0">
<TR>
<TD port="ww"></TD>
<TD></TD>
<TD port="ee"></TD>
</TR>
<TR>
<TD></TD>
<TD CELLPADDING="5">C</TD>
<TD></TD>
</TR>
</TABLE>
>];
A -> C:ww:n [arrowhead=none];
B -> C:ee:n [arrowhead=none];
C:ww:s -> D;
C:ee:s -> D;
}