5

次のコードを検討してください。

digraph G {
    node [shape=plaintext]

    a [label=<<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
                           <TR><TD ID="first" BGCOLOR="gray">first</TD></TR>
                           <TR><TD ID="second" PORT="f1">second</TD></TR>
                           <TR><TD ID="third" PORT="f2">third</TD></TR>
              </TABLE>>];

    b [label=<<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
                           <TR><TD ID="first" BGCOLOR="gray">first</TD></TR>
                           <TR><TD ID="second" PORT="f1">second</TD></TR>
                           <TR><TD ID="third" PORT="f2">third</TD></TR>
              </TABLE>>];

    a:first -> b:first;
}

かなりの量の警告が表示されます:

laci@nitehawk ~ $ dot records.gv -T pdf > records.pdf
Warning: Illegal attribute ID in <TD> - ignored
Warning: Illegal attribute ID in <TD> - ignored
Warning: Illegal attribute ID in <TD> - ignored
in label of node a
Warning: Illegal attribute ID in <TD> - ignored
Warning: Illegal attribute ID in <TD> - ignored
Warning: Illegal attribute ID in <TD> - ignored
in label of node b
Warning: node a, port first unrecognized
Warning: node b, port first unrecognized
  1. ドキュメントによると、TD の ID 属性は有効である必要があります。私は何が欠けていますか?
  2. 個々のセルを参照し、それらの間にエッジを作成するにはどうすればよいですか?
4

2 に答える 2

12

完全を期すために、実際に機能する完全なソースを次に示します。

digraph G {
    node [shape=plaintext]

    a [label=<<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
                           <TR><TD PORT="c" BGCOLOR="gray">first</TD></TR>
                           <TR><TD PORT="d">second</TD></TR>
                           <TR><TD PORT="e">third</TD></TR>
              </TABLE>>];

    b [label=<<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
                           <TR><TD PORT="c" BGCOLOR="gray">first</TD></TR>
                           <TR><TD PORT="d">second</TD></TR>
                           <TR><TD PORT="e">third</TD></TR>
              </TABLE>>];

    a:c -> b:c;
}
于 2012-11-14T14:11:48.150 に答える
8

PORT代わりに単純IDに使用して、例のようにエッジ定義を使用できます。

<TD PORT="first" BGCOLOR="gray">first</TD>

IDの目的はダウンストリームでの使用であるため、SVG 出力を使用して ID を別の場所で再利用しない限り、それらはおそらくあまり役​​に立ちません。

警告に関しては、graphviz 2.28 では表示されません。古いバージョンの Graphviz を使用している場合は、更新することをお勧めします。

graphviz html ラベル ポート

于 2012-11-13T22:52:30.977 に答える