Extending wx.lib.plot.PlotCanvas

Hi,

I'm trying to use PlotCanvas for a personal project. I want to to give
the user of my program the ability of editing the graph using the
graphic interface.

The approach I'm using (because I noticed PlotCanvas has many private
attributes I would need to use) is creating a class that inherits this
PlotCanvas so I can catch mouse events and drawing requests without
disrupting the normal class function.

Do you think this is a reasonable approach or should I be doing it in
a different way?

Also, do you think of any optimization I could use to handle lots of
points if I don't need to plot all the points at the time? i.e. I will
have about 500,000 points on a graph, but only will be plotting a few
at the time, and then I'll be using the draw tool to let the user see
all the data. My first test with 360,000 points show a big slowdown on
redrawing even if I zoom in and display only a few.

Thank you