[Prev] Thread [Next]  |  [Prev] Date [Next]

Re: [Matplotlib-users] Selecting a color from a given color map. Tony Yu Thu Feb 16 14:01:13 2012

On Thu, Feb 16, 2012 at 4:14 PM, Daniel Welling <[EMAIL PROTECTED]>wrote:

> Greetings.
> I have a series of lines that I would like to plot on the same axis,
> but I would like to set the color of each such that the range of
> colors used progresses through a given color map (e.g. the default Jet
> map.)  For example, if I have 7 lines, the first would use the first
> most color from the Jet color map (blue.)  The next line would use the
> color that is 1/7 the way up the map, e.g. green or so.  This would
> continue until the last line was red.
> How would I go about doing this (that is, loading a color map and
> pulling a specific color from it that could be handed to plot as an
> rgba tuple)?
> Thanks!
> -dw
Hi Daniel,

You can just pass values to a colormap. If those values are evenly spaced
between 0 and 1, you'll get the result you desire. Example:


import numpy as np
import matplotlib.pyplot as plt

n_lines = 10
x = np.linspace(0, 10)

phase_shift = np.linspace(0, np.pi, n_lines)
color_idx = np.linspace(0, 1, n_lines)
for i, shift in zip(color_idx, phase_shift):
    plt.plot(x, np.sin(x - shift), color=plt.cm.jet(i))



Coincidentally, this past weekend, I started wrapping up random code like
this into a utility package. See `cycle_cmap` in this package:
https://github.com/tonysyu/mpltools/blob/master/mpltools/color.py. The
package is still in the early stages, and function names could easily
change, so use with caution.

Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
Matplotlib-users mailing list