Créer un générateur de couleur à partir de la palette de couleurs donnée dans matplotlib

J'ai une série de lignes qui doivent tous être tracée avec une couleur distincte. Chaque ligne est en fait composé de plusieurs ensembles de données (positif, négatif, régions, etc.) et donc je voudrais être en mesure de créer un générateur de flux d'une seule couleur à la fois à travers un spectre, par exemple le gist_rainbow carte montré ici.

J'ai trouvé les ouvrages suivants, mais il semble très compliqué et plus important encore, difficile de s'en souvenir,

from pylab import *

NUM_COLORS = 22

mp = cm.datad['gist_rainbow']
get_color = matplotlib.colors.LinearSegmentedColormap.from_list(mp, colors=['r', 'b'], N=NUM_COLORS)
...
# Then in a for loop
    this_color = get_color(float(i)/NUM_COLORS)

En outre, il ne permet pas de couvrir toute la gamme de couleurs de l' gist_rainbow carte, j'ai de redéfinir une carte.

Peut-être un générateur n'est pas la meilleure façon de le faire, si oui quel est la façon acceptée?

source d'informationauteur Brendan | 2010-06-10