1) We kluged a fix by manually adding get_xdata and get_ydata methods to our derived class, but a) this seems like it shouldn't be necessary, and b) it wasn't necessary before;
2) Chris' hypothesis is that it has something to do w/ the work being done on matplotlib to add units to data objects (please correct me if I'm wrong, Chris) but is uncertain of precisely how or why, and wasn't readily able to pin it down more than that;
The traceback gave me this hint (see below):
The error comes when axis.clear() is called, inside:
self.set_units(None)
so I thought it might have to do with the unit stuff. The error is really:
in set_units
self.callbacks.process('units finalize')
in process
func(*args, **kwargs)
in relim
self._update_line_limits(line)
and that's where it wants the LineCollection to have get_xdata
What's really odd about this is that we're clearing the axis - the LineCollection should be irrelevant then!
I do remember something with the auto-limits and LineCollections when I first started messing with this, but I don't remember what.
Sorry we haven't been able to duplicate this in a small sample yet.
Anyone have any ideas?
-Chris
Here's the whole traceback:
Traceback (most recent call last):
File "/Users/cbarker/HAZMAT/3d/TABS/TabsDataPanels.py", line 688, in PlotProfile
int(self.DataSelector.BotBin) )
File "/Users/cbarker/HAZMAT/3d/TABS/TabsDataPanels.py", line 351, in PlotProfile
ax.clear()
File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/axes.py", line 725, in clear
self.cla()
File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/axes.py", line 670, in cla
self.xaxis.cla()
File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/axis.py", line 563, in cla
self.set_units(None)
File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/axis.py", line 859, in set_units
self.callbacks.process('units finalize')
File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/cbook.py", line 83, in process
func(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/axes.py", line 1104, in relim
self._update_line_limits(line)
File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/axes.py", line 1064, in _update_line_limits
xdata = line.get_xdata(orig=False)
AttributeError: VectorLineCollection instance has no attribute 'get_xdata'
···
--
Christopher Barker, Ph.D.
Oceanographer
Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception
Chris.Barker@...259...