Hi

the following code snippet is from a simple wxpython/matplotlib app

# Data object class

class PlotData(object):

     # Constructor (dummy arrays)

     def __init__(self):
         self.np = 100

         self.xa = numpy.arange(100.0)
         self.ya = 2.0 * self.xa
         self.ys = 4.0 * self.xa


# Plot window class

class PlotWin(object):
     def __init__(self, data):
         self.data = data            # Store reference to data object
         self.figure = Figure()      # Initialise figure

         # Create an Axes object to plot on

         self.ax1 = self.figure.gca()
         self.ax1.yaxis.tick_left()
         self.ax1.xaxis.tick_bottom()

         # Plot the data

         self.lines=[]

         self.lines.append(self.ax1.plot(self.data.xa, self.data.ya, 'g'))
         self.lines.append(self.ax1.plot(self.data.xa, self.data.ys, '-r'))


     # Update plot with new data

     def RefreshPlot(self, data):
         self.lines[0].set_data((self.data.xa,self.data.ya))
         self.lines[1].set_data((self.data.xa,self.data.ys))

         self.canvas.draw()


# Main program

if __name__ == "__main__":
     data = PlotData()
     pwin = PlotWin(data)
     pwin.RefreshPlot(data)

The plot data changes during the application and I just want to 
replace the existing data with the new data (which may have a 
different number of points compared to the old data).  I get the 
Python error "'list' object has no attribute 'set_data'" when the 
code executes RefreshPlot().  AFAIK lines[0] and lines[1] are 
'Line2D' objects (at least that's what Python says they are when I 
ask to have them printed) , which do have a 'set_data' method.  I'm 
sure there's something really easy that I need to do but just can't 
see it - all suggestions gratefully received!

Thanks in advance

Alun Griffiths


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to