On Tue, Oct 12, 2010 at 7:57 AM, Stefan Mauerberger <
stefan.mauerber...@mnet-online.de> wrote:

> Hi everyone,
>
> I am having trouble with colormaps unsing pcolormesh. I would like to
> plot and colorise a seismic wave field above a map. Plotting works fine
> but I do not know how to bring transparency into colormaps. For negative
> values I want the coloration being blue then it should become
> transparent and the greatest value should be drawn red. I have tried a
> lot but without any success. As far as I can see, the keyarg alpha does
> not fit my needs at all.
>
> Do you have any suggestions for me?
>
> Regards
>
> Stefan
>
>
Stefan,

If you mean using the keyword 'alpha' in the pcolormesh function, then yes,
that isn't the right place for it.  In your case, the right place to specify
the alpha channel is in the colormap itself.  Unfortunately, it is currently
designed around the idea of a scalar value specifying the transparency.

What you can do is a little trick.  First, get the colormap object and then
initialize it.  This will cause it to internally create an array called
"_lut" which holds rgba values.

>>> theCM = cm.get_cmap('somemap')
>>> theCM._init()

Then, you need to fill in the alpha values for yourself.  For this, I am
going to use a triangle function:

>>> alphas = np.abs(np.linspace(-1.0, 1.0, theCM.N))
>>> theCM._lut[:,-1] = alphas

Now that your colormap is set up, you can pass it into your pcolormesh call.

>>> plt.pcolormesh(X, Y, C, cmap=theCM)

That should work, but I have not fully tested it.  I hope that helps!
Ben Root
------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to