code: 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.axes.set_xlabel("t")
      self.axes.set_ylabel("sin(t)")
      self.figure_canvas = FigureCanvas(self, -1, self.figure)
  
      # Note that event is a MplEvent
      self.figure_canvas.mpl_connect(
          "motion_notify_event", self.UpdateStatusBar
      )
      self.figure_canvas.Bind(wx.EVT_ENTER_WINDOW, self.ChangeCursor)
  
      self.sizer = wx.BoxSizer(wx.VERTICAL)
      self.sizer.Add(self.figure_canvas, 1, wx.LEFT | wx.TOP | wx.GROW)
      self.SetSizer(self.sizer)
      self.Fit()
  
      self.statusBar = wx.StatusBar(self, -1)
      self.SetStatusBar(self.statusBar)
  
      self.toolbar = NavigationToolbar2Wx(self.figure_canvas)
      self.sizer.Add(self.toolbar, 0, wx.LEFT | wx.EXPAND)
      self.toolbar.Show()
  
file_path: matplotlib/galleries/examples/user_interfaces/wxcursor_demo_sgskip.py
imports: import wx
  import numpy
  from matplotlib.backends.backend_wx import NavigationToolbar2Wx
  from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg
  from matplotlib.figure import Figure
label_desc: Use image node_id 1 to create a new CanvasFrame object from inherited base classes: wx with example: obj = CanvasFrame()