2013-04-09 63 views
1

我是wxpython的新手,但一段時間以來一直是matplotlib用戶。我正在開發一個wxpython應用程序,我想用一個面板(實際上是一個wx.lib.plot.PlotCanvas實例)來創建一個簡單的框架。在面板我要顯示一些數據,這是在一個二進制的數組(稱爲imarr)的形式,像這樣的:我可以在wx.lib.plot.PlotCanvas中獲得imshow()類似的行爲嗎?

example of the data I would like to display 陣列將始終是形狀(64,N)的,和n可以大約在400到1200之間變化(我可以自己挑選面板大小)。

要做到這一點在matplotlib我會使用類似:

fig=figure(figsize=(12,2)) 
ax=fig.add_subplot(111) 
ax.set_ylim(0,63) 
ax.set_xlim(0,imarr.shape[0]) 
ax.set_aspect('equal') 
matplotlib.imshow(imarr) 

但我在wxPython完全喪失。我一直在研究wx.lib.plot,但除了漂亮的線條和標記繪圖功能外,似乎沒有與imshow(或pcolor)等效。

我有一個(醜)解決方案是使用上面的matplotlib創建一個PNG圖像,然後使用一些wx魔術在面板上顯示圖像(請直接設置,如果這不容易)。

我更喜歡在wxpython中使用它,以實現可移植性和一般的整潔。有關如何在wx.lib.plot.PlotCanvas(或更通用的wx.Panel)上顯示二進制數組的任何建議將非常有用!

回答

3

爲什麼不把wxPython和matplotlib結合在一起?與matplotlib相比,wx.lib.plot.PlotCanvas的功能有限。看看這個answer和matplotlib文檔中的一個example的例子。對不起,我沒有完全回答你所要求的,但我認爲這是正確的路要走。

+0

是的,這種方法非常好用;我不知道這是如此簡單。謝謝你的幫助。 – 2013-04-11 00:39:55

相關問題