1

私は wxpython は初めてですが、しばらくの間 matplotlib ユーザーです。単一のパネル (実際には wx.lib.plot.PlotCanvas インスタンス) を持つ単純なフレームが必要な wxpython アプリを開発しています。パネルでは、次のようなバイナリ配列 (imarr と呼ばれる) の形式のデータを表示したいと思います。

表示したいデータの例 配列は常に (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) に相当するものはないようです。

私が持っている(醜い)解決策の1つは、上記のようにmatplotlibを使用してpng画像を作成し、wxマジックを使用して画像をパネルに表示することです(これが簡単でない場合は、まっすぐにしてください)。

移植性と一般的な整頓のために、wxpython内から実行することをお勧めします。wx.lib.plot.PlotCanvas (またはより一般的な wx.Panel) でバイナリ配列を表示する方法についてのアドバイスは非常に役に立ちます!

4

1 に答える 1

3

wxPython と matplotlib を組み合わせてみませんか? wx.lib.plot.PlotCanvas は、matplotlib と比較して機能が制限されています。この回答と、matplotlib ドキュメントの例をご覧ください。あなたが求めていることに正確に答えられなくて申し訳ありませんが、これが正しい方法だと思います。

于 2013-04-09T15:54:09.193 に答える