所以我有一个看起来像这样的wxform,例如在sizer中有一些面板。我希望这些包含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()
基本上,问题是:我如何在其中一个"子结构中安装matplotlib +工具栏"在一个窗口?如果我有一个包含4个视图的网格,并且我希望matplotlib适合其中一个,我该如何在wx中执行此操作?