【发布时间】:2018-03-19 23:17:56
【问题描述】:
我有一个密集的点图,其中包含许多边和一个与几乎任何其他节点都有连接的节点。
例如:
digraph TEST
{
rankdir=LR;
node [shape=plaintext];
graph [compound=true];
A[label=<<table border="0" cellspacing="0" cellborder="1" >
<tr><td >A</td></tr>
<tr><td port='a1'>a1</td></tr>
<tr><td port='a2'>a2</td></tr>
</table>>];
B;
C;
D;
E;
F;
G;
H;
I;
A:a1:e->B:w;
A:a1:e->C:w;
A:a1:e->D:w;
A:a1:e->E:w;
A:a1:e->F:w;
A:a1:e->G:w;
A:a1:e->H:w;
A:a1:e->I:w;
A:a2:e->B:w;
B:e->C:w;
C:e->D:w;
D:e->E:w;
E:e->F:w;
E:e->G:w;
E:e->H:w;
F:e->I:w
G:e->I:w
H:e->I:w
}
我想隐藏a1 连接并添加某种跳转标签以保持信息对读者可用。
例如:
A:a1:e->{a1_out[label="a1"]};
{a1_Bin[label="a1"]}->B:w;
{a1_Cin[label="a1"]}->C:w;
{a1_Din[label="a1"]}->D:w;
{a1_Ein[label="a1"]}->E:w;
{a1_Fin[label="a1"]}->F:w;
{a1_Gin[label="a1"]}->G:w;
{a1_Hin[label="a1"]}->H:w;
{a1_Iin[label="a1"]}->I:w;
将属性[style=invis] 添加到a1-connections 只是不会渲染它们,而是保持布局与它们一样。结果是节点和标签的位置看起来很奇怪,因为其他地方的空间和密集连接。
完全删除连接确实会改变图的语义和图节点的等级(在此示例中没有,但在其他示例中会)。
所以我正在寻找一种方法来提供dot 信息以正确计算一侧节点之间的所有依赖关系并建议它,而不是在另一侧绘制渲染和绘制这些连接。
【问题讨论】: