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

Reply via email to