On Thu, Feb 16, 2012 at 4:14 PM, Daniel Welling <dantwell...@gmail.com>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))
plt.show()
#~~~~~
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.
Best,
-Tony
------------------------------------------------------------------------------
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.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users