2009-05-24 7 views
0

我正在Python程序中生成图表,现在我需要将它们可视化。如何在Mac上使用Python中的点绘制自动图形?

我使用Tkinter作为图形用户界面来可视化所有其他数据,并且我希望在数据图中有一个小的子窗口。 目前我有一个.dot文件中的数据。然后我保持graphviz打开,显示图形。但这当然不是最理想的。我需要在tk窗口中获取图形。

我想过使用graphviz的命令行,但我总是遇到同样众所周知的bug:

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豹,蟒蛇2.5.2

+0

这个错误已经在新版本的Graphviz中清除了。 – 2009-06-03 19:14:33

回答

2

我没有在Mac测试它,但NetworkX包包括方法read .dot filesdraw graphs使用matplotlib来。您可以在Tk中嵌入matplotlib数字(example 1example 2)。

+0

非常有趣,谢谢。一条值得深入研究的道路。我会做,然后看看它是否解决了这个问题。主要问题是生成的图形可视化必须有意义。在点我最终设法使它看起来很好。我需要看看如何在netoworkx中做到这一点。是的,我使用matplotlib – 2009-05-24 17:01:54