Dear all,

Once again, I turn for help.

I’m trying to plot a polar image using colormap values for the theta values and increasing alpha values along the radius.

I do this using imshow passing the rgba tuple at each pixel position which works very nicely with rectangular axes, but fails to display using polar axes (see code below).

As usual, I’ve done a fair bit of digging to find where the problem is and whether I could make out an alternate solution but haven’t managed to come through. I’ve tried using pcolormesh but I don’t see how to pass the rgba tuple

Can anyone point me in the right direction.

I’m using matplotlib 1.0.1 and Python 2.4

Cheers,

Auré

## ···

import matplotlib as mpl

from matplotlib import pylab

import numpy as

np

#build custom colormap

cm_sym =customfunc()

#define mesh grid

theta = np.arange(0.,2.*math.pi+2.*math.pi/9,2.*math.pi/9)

r = np.arange(0,1.1,0.1)

X,Y = np.meshgrid(r,theta)

#define rgba array

polarcolorseq = mpl.cm.ScalarMappable(cmap=cm_hsvsym).to_rgba(Y)

#set an increasing alpha value along the radius

polarcolorseq[:,:,-1] = [list(np.arange(0,1.1,.1))]*10

pylab.figure(figsize=(10,5),dpi=100,facecolor=‘white’)

#display using rectangular axis

ax = pylab.subplot((121),axisbg=‘k’)

ax.imshow(np.flipud(np.swapaxes(polarcolorseq,0,1)))

#display using polar axis

ax2 = pylab.subplot((122),axisbg=‘k’,projection=‘polar’) #also tried with polar=True

ax2.imshow(np.flipud(np.swapaxes(polarcolorseq,0,1)))

pylab.draw()