Having line color vary with data index for line graph in matplotlib?

Often you pass a colormap to a plotting function, but you can also pass a number or array to a colormap and get the colors in return.

So to color each line according to a variable, do something like this:

numlines = 20

for i in np.linspace(0,1, numlines):
    plt.plot(np.arange(numlines),np.tile([i],numlines), linewidth=4, color=plt.cm.RdYlBu(i))

enter image description here


plot(x,y,'r') for red lines

plot(x,y,'b') for blue lines


Need more colors for a decent X'mas? See here.


UPDATES:

As you asked, there're too many lines to manually set colors. So how about this:

from matplotlib.pyplot import *

x = list(range(10))
amount = 20

for i in range(amount):
    y = [j-i for j in x]
    c = [float(i)/float(amount), 0.0, float(amount-i)/float(amount)] #R,G,B
    plot(x, y, color=c)
show()

It gives:

enter image description here