スクリーンショット:
この問題の原因は何ですか:Cygwinの問題、wx / wxPythonの問題、またはMatplotlibの問題ですか?
すべてのプロットでボタンの画像が欠落しているというこのエラーが表示されることを除けば、すべてが正常に機能します
翌日:ネイティブのWindowsグラフィックインターフェイスを使用するようにwxをコンパイルしたので(Xサーバーとgtkをインストールする必要はありません)、基本的にはWindowsコンパイル(Cygwinコンパイルではありません)であるため、CygwinパッケージはCygwinPOSIXパスを使用できます。
このように問題があるのはMPLだけではなく、Cygwinリソースをファイル名としてwxに渡すwxパッケージです。回避策の1つは、パスの代わりにpythonオブジェクトを渡すことです。したがって、上記の例では、これは次のような回避策になります。
Matplotlibは_load_bitmap(filename as str)
関数を使用して、これらのボタンのグラフィックをwxからwxに渡しますwx.Bitmap(filename)
。このようなパッチbackend_wx.py
:
# bmp = wx.Bitmap(bmpFilename)
wxf = open(bmpFilename, 'rb')
bmp = wx.BitmapFromImage(wx.ImageFromStream(wxf, wx.BITMAP_TYPE_ANY))
wxf.close()
Matplotlibでこれを解決し、問題なく実行されます
すべてのwxアプリケーションで機能するより堅牢なソリューションに興味があります