Note
Go to the endto download the full example code.
Embed in wx #2#
An example of how to use wxagg in an application with the newtoolbar - comment out the add_toolbar line for no toolbar.
importwximportwx.lib.mixins.inspectionasWITimportnumpyasnpfrommatplotlib.backends.backend_wxaggimportFigureCanvasWxAggasFigureCanvasfrommatplotlib.backends.backend_wxaggimport \NavigationToolbar2WxAggasNavigationToolbarfrommatplotlib.figureimportFigureclassCanvasFrame(wx.Frame):def__init__(self):super().__init__(None,-1,'CanvasFrame',size=(550,350))self.figure=Figure()self.axes=self.figure.add_subplot()t=np.arange(0.0,3.0,0.01)s=np.sin(2*np.pi*t)self.axes.plot(t,s)self.canvas=FigureCanvas(self,-1,self.figure)self.sizer=wx.BoxSizer(wx.VERTICAL)self.sizer.Add(self.canvas,1,wx.LEFT|wx.TOP|wx.EXPAND)self.SetSizer(self.sizer)self.Fit()self.add_toolbar()# comment this out for no toolbardefadd_toolbar(self):self.toolbar=NavigationToolbar(self.canvas)self.toolbar.Realize()# By adding toolbar in sizer, we are able to put it at the bottom# of the frame - so appearance is closer to GTK version.self.sizer.Add(self.toolbar,0,wx.LEFT|wx.EXPAND)# update the axes menu on the toolbarself.toolbar.update()# Alternatively you could use:# class App(wx.App):classApp(WIT.InspectableApp):defOnInit(self):"""Create the main window and insert the custom frame."""self.Init()frame=CanvasFrame()frame.Show(True)returnTrueif__name__=="__main__":app=App()app.MainLoop()