Как я могу рисовать автоматические графики с помощью dot в Python на Mac?
Вопрос
Я создаю графики в программе на Python, и теперь мне нужно их визуализировать.
Я использую Tkinter в качестве графического интерфейса для визуализации всех других данных, и я хотел бы иметь небольшое подокно внутри с графиком данных.На данный момент у меня есть данные, представленные в виде файла .dot.И затем я оставляю graphviz открытым, который показывает график.Но это, конечно, неоптимально.Мне нужно получить график внутри окна tk.
Я думал об использовании graphviz из командной строки, но я всегда сталкиваюсь с одной и той же хорошо известной ошибкой:
Desktop ibook$ dot -Tpng -O 1.dot
dyld: lazy symbol binding failed: Symbol not found: _pixman_image_create_bits
Referenced from: /usr/local/lib/graphviz/libgvplugin_pango.5.dylib
Expected in: flat namespace
dyld: Symbol not found: _pixman_image_create_bits
Referenced from: /usr/local/lib/graphviz/libgvplugin_pango.5.dylib
Expected in: flat namespace
Trace/BPT trap
Ошибка, похоже, хорошо известна в сообществе Graphviz:
http://www.graphviz.org/bugs/b1479.html
http://www.graphviz.org/bugs/b1488.html
http://www.graphviz.org/bugs/b1498.html
Итак, поскольку кажется, что я не могу использовать утилиту командной строки, мне было интересно, знает ли кто-нибудь прямой способ нарисовать точечный график на Python без использования командной строки или выполнения чего-либо, что повлекло бы за собой ту же ошибку?
Я программирую на Mac Leopard, python 2.5.2
Решение
У меня нет Mac, чтобы протестировать его, но NetworkX Сеть X пакет включает в себя методы для чтение файлов .dot и рисуйте графики используя matplotlib - файл.Вы можете встроить рисунок matplotlib в Tk (пример 1, пример 2).
Другие советы
Быстро Google подъезжает http://code.google.com/p/pydot/.Я еще не пробовал, но выглядит многообещающе.