content: """
  ===================
  Custom Figure Class
  ===================
  
  You can pass a custom Figure constructor to figure if you want to derive from
  the default Figure.  This simple example creates a figure with a figure title.
  """
  import matplotlib.pyplot as plt #import figure, show
  from matplotlib.figure import Figure
  
  # nodebox section
  if __name__ == '__builtin__':
      # were in nodebox
      import os
      import tempfile
      W = 800
      inset = 20
      size(W, 600)
      plt.cla()
      plt.clf()
      plt.close('all')
      def tempimage():
          fob = tempfile.NamedTemporaryFile(mode='w+b', suffix='.png', delete=False)
          fname = fob.name
          fob.close()
          return fname
      imgx = 20
      imgy = 0
      def pltshow(plt, dpi=150):
          global imgx, imgy
          temppath = tempimage()
          plt.savefig(temppath, dpi=dpi)
          dx,dy = imagesize(temppath)
          w = min(W,dx)
          image(temppath,imgx,imgy,width=w)
          imgy = imgy + dy + 20
          os.remove(temppath)
          size(W, HEIGHT+dy+40)
  else:
      def pltshow(mplpyplot):
          mplpyplot.show()
  # nodebox section end
  
  class MyFigure(Figure):
      def __init__(self, *args, **kwargs):
          """
          custom kwarg figtitle is a figure title
          """
          figtitle = kwargs.pop('figtitle', 'hi mom')
          Figure.__init__(self, *args, **kwargs)
          self.text(0.5, 0.95, figtitle, ha='center')
  
  
  fig = plt.figure(FigureClass=MyFigure, figtitle='my title')
  ax = fig.add_subplot(111)
  ax.plot([1, 2, 3])
  
  pltshow(plt)
  