2009-05-24 9 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