On Dec 8, 2008, at 2:00 PM, Ryan May wrote: > Chad Kidder wrote: >> On Dec 8, 2008, at 12:55 PM, Ryan May wrote: >>> Chad Kidder wrote: >>>> I've got many series of data that I want to plot, and each has >>>> an additional scalar that is valid for the whole series. What >>>> I want to do is plot all these series on top of each other >>>> (plot can do this just fine), but with the additional scalar >>>> changing the color, efectively using color as the z-axis. I'm >>>> not seeing how to do that. If there was a function where I >>>> could give a color map a value and it would spit out the color, >>>> that would work, but I haven't seen it. Thanks for your help. >>> Try using scatter instead of plot. Specifically, the 'c' keyword >>> argument: >>> >>> *c*: >>> a color. *c* can be a single color format string, or a >>> sequence of color specifications of length *N*, or a >>> sequence of *N* numbers to be mapped to colors using the >>> *cmap* and *norm* specified via kwargs (see below). Note >>> that *c* should not be a single numeric RGB or RGBA >>> sequence because that is indistinguishable from an array >>> of values to be colormapped. *c* can be a 2-D array in >>> which the rows are RGB or RGBA, however. > > Here's what you're looking for: > > import numpy as n > import matplotlib.pyplot as p > import matplotlib.colors as mcolors > import matplotlib.cm as cm > > cmap = cm.get_cmap('winter') > norm = mcolors.Normalize(0, 1) #Range of z > > nlines = 100 > z = n.random.rand(nlines) > x = n.arange(nlines) > t1, t2 = n.meshgrid(x,z) > y = t1+t2-0.5 > > #Uses normalize to map z values to range of 0 to 1. > #Cmap maps these normalized values to colors > colors = cmap(norm(z)) > for ii in range(nlines): > p.plot(x, y[ii], color=colors[ii]) > p.show() > > Ryan
Thanks all. I had tried something close, but it didn't work. This works great. ------------------------------------------------------------------------------ SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users