From: Darren D. <dar...@co...> - 2008-04-24 15:19:44
|
It looks like the recent modification to transforms.py to update datalims only when valid data are available is broken for numpy-1.04. In tranforms.Bbox.update_from_data_xy, with numpy-1.04, the following line: xym = ma.masked_where(~npy.isfinite(xy), xy) fails with: File "/usr/lib64/python2.5/site-packages/matplotlib/axes.py", line 2805, in plot self.add_line(line) File "/usr/lib64/python2.5/site-packages/matplotlib/axes.py", line 1165, in add_line self._update_line_limits(line) File "/usr/lib64/python2.5/site-packages/matplotlib/axes.py", line 1173, in _update_line_limits self.update_datalim( xydata ) File "/usr/lib64/python2.5/site-packages/matplotlib/axes.py", line 1221, in update_datalim self.dataLim.update_from_data_xy(xys, self.ignore_existing_data_limits) File "/usr/lib64/python2.5/site-packages/matplotlib/transforms.py", line 699, in update_from_data_xy xym = ma.masked_where(~npy.isfinite(xy), xy) File "/usr/lib64/python2.5/site-packages/numpy/core/ma.py", line 641, in __array_wrap__ domain = ufunc_domain[func] KeyError: <ufunc 'isfinite'> It looks like isfinite doesnt like getting a masked array as input. Is xy always a masked array? If so, maybe that line could look like: xym = ma.masked_where(~npy.isfinite(xy.data), xy) |