class_docstr: The FigureCanvas contains the figure and does event handling.
  
  In the wxPython backend, it is derived from wxPanel, and (usually) lives
  inside a frame instantiated by a FigureManagerWx. The parent window
  probably implements a wxSizer to control the displayed control size - but
  we give a hint as to our preferred minimum size.
class_docstr_tok: ["The","FigureCanvas","contains","the","figure","and","does","event","handling",".","In","the","wxPython","backend",",","it","is","derived","from","wxPanel",",","and","(","usually",")","lives","inside","a","frame","instantiated","by","a","FigureManagerWx",".","The","parent","window","probably","implements","a","wxSizer","to","control","the","displayed","control","size","-","but","we","give","a","hint","as","to","our","preferred","minimum","size","."]
code: def draw(self, drawDC=None):
      width = int(self.figure.bbox.width)
      height = int(self.figure.bbox.height)
      surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, width, height)
      self._renderer.set_ctx_from_surface(surface)
      self._renderer.set_width_height(width, height)
      self.figure.draw(self._renderer)
      self.bitmap = wxcairo.BitmapFromImageSurface(surface)
      self._isDrawn = True
      self.gui_repaint(drawDC=drawDC, origin="WXCairo")
  
file_path: catboost/contrib/python/matplotlib/py2/matplotlib/backends/backend_wxcairo.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import six
  import wx
  from .backend_cairo import cairo, FigureCanvasCairo, RendererCairo
  from .backend_wx import _BackendWx, _FigureCanvasWxBase, FigureFrameWx, NavigationToolbar2Wx
  import wx.lib.wxcairo
label_desc: Use image node_id 2 for calling the FigureCanvasWxCairo obj's underlying member method code with example usage: obj.draw(drawDC) without return types