print_dot()
stdoutにドットを出力する機能があります。そのように私はすることができます:
$ ./myprogram < input | dot -T x11
1つのグラフを印刷しようとするとうまくいきます。
いくつかのグラフを印刷すると、何も表示されません。ドットウィンドウは空白で、X11とドットがすべてのCPUを占有します。stderrには何も印刷されません。
$ echo -e "graph { a -- b }" | dot -T x11 # work
$ echo -e "graph { a -- b } \n graph { c --d }" | dot -T x11 # doesn't work
# it seems to be interpreted nonetheless
$ echo -e "graph { a -- b } \n graph { c -- d } " | dot -T xdot
graph {
...
}
graph {
...
}
また、2つのグラフの間を削除すると\n
、最初のグラフのみが解釈されます(すばらしい機能です...)。
$ echo -e "graph { a -- b } graph { c -- d } " | dot -T xdot
graph {
...
}
xdot出力を再びdotにパイプしても、問題は解決しません。
では、graphvizで複数のグラフをレンダリングするにはどうすればよいでしょうか。