我明白如何使用pyplot接口(我想!)在屏幕上顯示matplotlib圖。我開始繪製一個多線程程序,並開始導致錯誤,所以我試圖切換到面向對象的接口。我可以做一個簡單的陰謀,並保存到文件使用使用matplotlib繪製屏幕上的圖API
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
fig = Figure()
can = FigureCanvas(fig)
ax = fig.add_subplot(111)
ax.plot((1,2,3))
can.print_figure('test')
但我該如何顯示在屏幕上的這個情節?我看到其他代碼使用can.draw()
但沒有任何效果。
另外,請讓我知道是否有任何關於我的代碼以上的不理想 - 我還沒有真正掌握所有這些圖,畫布和軸對象做什麼。
非常感謝您的幫助。我沒有意識到答案是特定於後端(我試圖找出pyplot.show()正在做什麼,但沒有找到相關的代碼)。我發現[this](http://matplotlib.sourceforge.net/examples/user_interfaces/embedding_in_tk.html)Tk的例子,這非常有幫助。提到多線程可能是一個紅鯡魚 - 我只是有一些代碼做了一些數字處理,並用pyplot保存了一些情節,我試着將它移入一個線程,以便我可以在運行時查看它的結果,並得到很多奇怪的錯誤。 – James