У меня есть функция print_dot()
, которая выводит точку на stdout.
Таким образом я могу сделать:
$ ./myprogram < input | dot -T x11
Он отлично работает, когда я пытаюсь напечатать один график.
Теперь, когда я печатаю несколько графиков, ничего не появляется. Точечное окно пустое, X11 и точка принимают весь процессор. На 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 {
...
}
Кроме того, когда я удаляю \n
между двумя графиками, интерпретируется только первый граф (какая хорошая функция...):
$ echo -e "graph { a -- b } graph { c -- d } " | dot -T xdot
graph {
...
}
Повторное подключение вывода xdot к точке не устраняет проблему.
Итак, как можно сделать несколько графиков с помощью графика?