help visualizing plots

dear list,

can someone tell me why I don't see anything when I run this script?
it is a modified version of the traits example...
I expected to see three plots with one line each...

from enthought.traits.api import HasTraits, Instance, Range, Array,
on_trait_change, Property,cached_property, Bool
from enthought.traits.ui.api import View, Item
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg
from matplotlib.backends.backend_wx import NavigationToolbar2Wx
from matplotlib.figure import Figure
from matplotlib.axes import Axes
from matplotlib.lines import Line2D
from enthought.traits.ui.api import CustomEditor
import wx
import numpy

def MakePlot(parent, editor):
  fig = editor.object.figure
  panel = wx.Panel(parent, -1)
  canvas = FigureCanvasWxAgg(panel, -1, fig)
  toolbar = NavigationToolbar2Wx(canvas)
  toolbar.Realize()
  sizer = wx.BoxSizer(wx.VERTICAL)
  sizer.Add(canvas,1,wx.EXPAND|wx.ALL,1)
  sizer.Add(toolbar,0,wx.EXPAND|wx.ALL,1)
  panel.SetSizer(sizer)
  canvas.SetMinSize((300,600))
  return panel

class PlotModel(HasTraits):

  figure = Instance(Figure, ())
  axes1 = Instance(Axes)
  axes2 = Instance(Axes)
  axes3 = Instance(Axes)
  line1 = Instance(Line2D)
  line2 = Instance(Line2D)
  line3 = Instance(Line2D)
  _draw_pending = Bool(False) #a flag to throttle the redraw rate
  # a variable parameter
  x = Array(value=numpy.arange(1, 31))
  x2 = Array(value=numpy.arange(1, 31))
  x3 = Array(value=numpy.arange(1, 31))
  # a dependent variable
  y = Array(value=numpy.arange(1, 31))
  y2 = Array(value=numpy.arange(1, 31))
  y3 = Array(value=numpy.arange(1, 31))
  
  traits_view = View(
          Item('figure',
             editor=CustomEditor(MakePlot),
             resizable=True,
             show_label=False),
          resizable=False,
          width=400,
          height=750
          )

  def _axes1_default(self):
    return self.figure.add_subplot(311)

  def _axes2_default(self):
    return self.figure.add_subplot(312)

  def _axes3_default(self):
    return self.figure.add_subplot(313)

  def _line1_default(self):
    return self.axes1.plot(self.x, self.y)[0]

  def _line2_default(self):
    return self.axes2.plot(self.x2, self.y2)[0]

  def _line3_default(self):
    return self.axes3.plot(self.x3, self.y3)[0]

  def redraw(self):
    if self._draw_pending:
      return
    canvas = self.figure.canvas
    if canvas is None:
      return
    def _draw():
      canvas.draw()
      self._draw_pending = False
    wx.CallLater(50, _draw).Start()
    self._draw_pending = True

if __name__=="__main__":
  model = PlotModel()
  model.configure_traits(model.redraw())

thank you,
simone