Hi,
unles I'm doing something stupid, setp is buggy.
I'm creating a bunch of images using imshow and I want the colormap to be
consistent among images. So once they're all drawn, I want to uniformize the
color scale. But
setp(ax.images, clim= [0,1])
does not work because it sets vmin to [0,1] and doesn't affect vmax.
On the other hand,
ax.images[0].set_clim([0,1])
works fine.
Should I file a ticket ?
David
In [1]: ax = axes()
In [2]: ax.imshow(rand(10,10))
Out[2]: <matplotlib.image.AxesImage instance at 0x2aaaad22a830>
In [3]: setp(ax.images, 'clim', [0,1])
---------------------------------------------------------------------------
exceptions.ValueError Traceback (most recent
call last)
/usr/local/lib/python2.4/site-packages/matplotlib/backends/backend_gtk.py in
expose_event(self, widget, event)
282 x, y, w, h = self.allocation
283 self._pixmap_prepare (w, h)
--> 284 self._render_figure(self._pixmap, w, h)
285 self._need_redraw = False
286
/usr/local/lib/python2.4/site-packages/matplotlib/backends/backend_gtkagg.py
in _render_figure(self, pixmap, width, height)
71 def _render_figure(self, pixmap, width, height):
72 if DEBUG: print 'FigureCanvasGTKAgg.render_figure'
---> 73 FigureCanvasAgg.draw(self)
74 if DEBUG: print 'FigureCanvasGTKAgg.render_figure pixmap',
pixmap
75 #agg_to_gtk_drawable(pixmap, self.renderer._renderer, None)
/usr/local/lib/python2.4/site-packages/matplotlib/backends/backend_agg.py in
draw(self)
390
391 renderer = self.get_renderer()
--> 392 self.figure.draw(renderer)
393
394 def get_renderer(self):
/usr/local/lib/python2.4/site-packages/matplotlib/figure.py in draw(self,
renderer)
567
568 # render the axes
--> 569 for a in self.axes: a.draw(renderer)
570
571 # render the figure text
/usr/local/lib/python2.4/site-packages/matplotlib/axes.py in draw(self,
renderer, inframe)
1105 if len(self.images)<=1 or renderer.option_image_nocomposite
():
1106 for im in self.images:
-> 1107 im.draw(renderer)
1108 else:
1109 # make a composite image blending alpha
/usr/local/lib/python2.4/site-packages/matplotlib/image.py in draw(self,
renderer, *args, **kwargs)
179 def draw(self, renderer, *args, **kwargs):
180 if not self.get_visible(): return
--> 181 im = self.make_image(renderer.get_image_magnification())
182 l, b, widthDisplay, heightDisplay =
self.axes.bbox.get_bounds()
183 renderer.draw_image(l, b, im, self.axes.bbox)
/usr/local/lib/python2.4/site-packages/matplotlib/image.py in
make_image(self, magnification)
122 im.is_grayscale = False
123 else:
--> 124 x = self.to_rgba(self._A, self._alpha)
125 im = _image.fromarray(x, 0)
126 if len(self._A.shape) == 2:
/usr/local/lib/python2.4/site-packages/matplotlib/cm.py in to_rgba(self, x,
alpha)
54 if hasattr(x, 'shape') and len(x.shape)>2: return x
55 x = ma.asarray(x)
---> 56 x = self.norm(x)
57 x = self.cmap(x, alpha)
58 return x
/usr/local/lib/python2.4/site-packages/matplotlib/colors.py in
__call__(self, value, clip)
749 self.autoscale(val)
750 vmin, vmax = self.vmin, self.vmax
--> 751 if vmin > vmax:
752 raise ValueError("minvalue must be less than or equal to
maxvalue")
753 elif vmin==vmax:
ValueError: The truth value of an array with more than one element is
ambiguous. Use a.any() or a.all()
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel