私はgraphvizを使用しており、グラフをsplines = ortho
. 問題は、エッジがポートを尊重しないため、グラフを分析できないことです。
digraph G{
splines= ortho;
A [shape = box, label =<
<TABLE BORDER="0" CELLBORDER="0" CELLSPACING="1"
CELLPADDING="2">
<TR> <TD COLSPAN = "3"> A </TD></TR>
<TR><TD PORT="1" BORDER = "1"> 1 </TD>
<TD ></TD>
<TD PORT="2" BORDER = "1"> 2 </TD>
</TR>
</TABLE>>];
B [shape = box, label =<
<TABLE BORDER="0" CELLBORDER="0" CELLSPACING="1"
CELLPADDING="2">
<TR> <TD COLSPAN = "3"> B </TD></TR>
<TR><TD PORT="1" BORDER = "1"> 1 </TD>
<TD ></TD>
<TD PORT="2" BORDER = "1"> 2 </TD>
</TR>
</TABLE>>];
C [shape = box, style = filled, label =<
<TABLE BORDER="0" CELLBORDER="0" CELLSPACING="1"
CELLPADDING="2">
<TR> <TD COLSPAN = "3"> C </TD></TR>
<TR><TD PORT="1" BORDER = "1"> 1 </TD>
<TD ></TD>
<TD PORT="2" BORDER = "1"> 2 </TD>
</TR>
<TR> <TD PORT = "3" BORDER = "1"> 3 </TD></TR>
</TABLE>>];
K [shape = box, label =<
<TABLE BORDER="0" CELLBORDER="0" CELLSPACING="1"
CELLPADDING="2">
<TR> <TD COLSPAN = "3"> K </TD></TR>
<TR><TD PORT="1" BORDER = "1"> 1 </TD>
<TD ></TD>
<TD PORT="2" BORDER = "1"> 2 </TD>
</TR>
</TABLE>>];
A:1 -> B:2;
A:2 -> B:2;
A:2 -> C:1;
B:1 -> C:1;
K:2 -> C:1;
B:2 -> K:1;
K:2 -> A:1;
B:1 -> C:3;
K:2 -> D;
K:2 -> E;
}
結果:
Graphviz の公式サイトで問題を見つけましたが、2011 年以降改善されていないようです。問題を回避する方法を知っている人はいますか? それとも自分で直せる可能性はありますか?