On Tue, Feb 1, 2011 at 5:00 PM, Benjamin Root <ben.r...@ou.edu> wrote:
>
>
> On Tue, Feb 1, 2011 at 5:48 PM, Jeremy Conlin <jlcon...@gmail.com> wrote:
>>
>> I'm trying to create a custom colormap used with pcolormesh, but the
>> results seem inconsistent to me.  I want the following colors
>>
>> -3 < x <= -2 ----- Black
>> -2 < x <= -1 ----- Blue
>> -1 < x <= 0  ----- Yellow
>>  0 < x <= 1  ----- Green
>>  1 < x <= inf ----- Red
>>
>> A minimal example is copied below.  I have a 2-D array that looks like:
>>
>>  -1,    6,  2.5
>> 1.3,  -2,  4/3
>> 2.5,   6,  0
>>
>> I want to get a pcolormesh that looks like
>>
>> R R Y
>> R K R
>> B R R
>>
>> But instead I get:
>>
>> Y R B
>> Y K Y
>> K R Y
>>
>> I recognize that the pcolormesh is plotted "upside-down" from how the
>> matrix is printed.  I apparently don't understand how to use a custom
>> colormap.  I have tried to follow the example here:
>>
>> http://matplotlib.sourceforge.net/examples/api/colorbar_only.html
>>
>> but haven't been too successful.  It seems like there is a
>> normalization going on that I can't seem to track down.  Can anyone
>> see what is wrong?
>>
>> Thanks,
>> Jeremy
>>
>>
>> import numpy
>> import matplotlib.pyplot as pyplot
>> import matplotlib.colors
>>
>> C = numpy.array([[-1,6,2.5],[4/3., -2, 4/3.],[2.5,6,0.0]],dtype=float)
>>
>> cMap = matplotlib.colors.ListedColormap(['k', 'b', 'y', 'g',         'r'])
>> Bounds = [-3.0, -2.0, -1.0, 0.0, 1.0, numpy.inf]
>>
>> # Plot
>> Fig = pyplot.figure()
>> pyplot.pcolormesh(C, cmap=cMap)
>>
>
> Have you given imshow() a try?  The pcolor() and family are really meant for
> more general domain specifications.  imshow() is about as basic as one can
> get for producing an image that shows the colors for particular values.
> matshow() also does something similar and doesn't interpolate between
> points.
>
> I don't know if it would fix your problem, but it should be a good start.

I just tried both imshow and matshow and they gave the same output,
but the plot was rotated -90º.  I don't care so much about how it is
oriented, but I do care about consistency, i.e. -1 should be plotted
as blue, but is instead black.  I could also accept -1 as yellow since
-1 is on the boundary.  pcolor, imshow, and matshow all show the same
inconsistency.

Jeremy

------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires 
February 28th, so secure your free ArcSight Logger TODAY! 
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to