たとえば、サイザーにはいくつかのパネルがあります。これらにmatplotlibプロットとツールバーを含めたいです。ただし、コードでは、サイズを考慮していません。数時間いじってみましたが、機能しません (ツールバーのボタンが機能しません)。
matplotlib に関連するコードは次のとおりです。
コードでそれらを参照する方法や、ウィンドウとツールバーのサイズを管理する方法さえわからないため、ここでは特定のパネルを使用しません..
どんな助けでも本当に感謝します!
import matplotlib
matplotlib.use('WXAgg')
from matplotlib.figure import Figure
from matplotlib.backends.backend_wxagg import \
FigureCanvasWxAgg as FigCanvas, \
NavigationToolbar2WxAgg as NavigationToolbar2Wx
#import matplotlib.pyplot as plt
import mainFrame
class MainFrameSub (mainFrame.MainFrame):
def __init__(self, parent, ip, product):
mainFrame.MainFrame.__init__(self, parent)
#self.createPlot()
self.setStatusBar('Ready')
self.ip = ip
self.sizer = self.bSizer3
self.figure = Figure()#figsize=(6, 4), dpi=100)
self.ax = self.figure.add_subplot(111)
self.ax.set_ylabel('Y-Label')
self.ax.grid()
self.ax.relim()
self.ax.autoscale_view()
self.ax.set_title("X-Label")
self.canvas = FigCanvas(self, 0, self.figure)
self.SetSizer(self.sizer)
self.sizer.Add(self.canvas, 0, wx.EXPAND)
self.toolbar = NavigationToolbar2Wx(self.canvas)
self.toolbar.Realize()
self.sizer.Add(self.toolbar, 0, wx.EXPAND)
self.toolbar.update()
self.ax.plot()
self.ax2 = self.ax.twinx()
self.lines= [None] * 1
self.lines[0], = self.ax.plot([],[])
self.canvas.draw()
基本的に、質問は次のとおりです。ウィンドウの「サブ構造」の1つにmatplotlib +ツールバーを合わせるにはどうすればよいですか? 4 つのビューを持つグリッドがあり、matplotlib をそのうちの 1 つに収めたい場合、wx でそれを行うにはどうすればよいですか?