Hi all:

It looks like one can no longer plot an array of RGBA values in imshow - 
I suspect this is a consequence of the recent changes to the way colors 
are handled.  For example

from pylab import *
# make a random rgba matrix
rgba = ones((64,64,4),'f')
for k in range(3):
   rgba[:,:,k] = rand(64,64).astype('f')
imshow(rgba)
show()

works in 0.87.2, but fails with

Traceback (most recent call last):
  File "/Users/jsw/lib/python/matplotlib/backends/backend_gtk.py", line 
283, in expose_event
    self._render_figure(self._pixmap, w, h)
  File "/Users/jsw/lib/python/matplotlib/backends/backend_gtkagg.py", 
line 72, in _render_figure
    FigureCanvasAgg.draw(self)
  File "/Users/jsw/lib/python/matplotlib/backends/backend_agg.py", line 
389, in draw
    self.figure.draw(renderer)
  File "/Users/jsw/lib/python/matplotlib/figure.py", line 531, in draw
    for a in self.axes: a.draw(renderer)
  File "/Users/jsw/lib/python/matplotlib/axes.py", line 991, in draw
    im.draw(renderer)
  File "/Users/jsw/lib/python/matplotlib/image.py", line 184, in draw
    im = self.make_image()
  File "/Users/jsw/lib/python/matplotlib/image.py", line 130, in make_image
    im.is_grayscale = (self.cmap.is_gray() and
  File "/Users/jsw/lib/python/matplotlib/colors.py", line 634, in is_gray
    return (alltrue(self._lut[:,0] == self._lut[:,1])

with the latest svn.

This patch to image.py seems to fix it, but I'm not sure it's the right 
solution

--- /Users/jsw/lib/python/matplotlib/image.py.orig      2006-06-02 
17:04:52.000000000 -0600
+++ /Users/jsw/lib/python/matplotlib/image.py   2006-06-02 
17:05:24.000000000 -0600
@@ -127,8 +127,10 @@
             im.flipud_in()
 
         im.set_bg( *bg)
-        im.is_grayscale = (self.cmap.is_gray() and
-                           len(self._A.shape) == 2)
+        if len(self._A.shape) == 2:
+            im.is_grayscale = self.cmap.is_gray()
+        else:
+            im.is_grayscale = False
 
         im.set_interpolation(self._interpd[self._interpolation])


-Jeff


-- 
Jeffrey S. Whitaker         Phone  : (303)497-6313
Meteorologist               FAX    : (303)497-6449
NOAA/OAR/PSD  R/PSD1        Email  : [EMAIL PROTECTED]
325 Broadway                Office : Skaggs Research Cntr 1D-124
Boulder, CO, USA 80303-3328 Web    : http://tinyurl.com/5telg



_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to