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