У меня есть серия линий, каждая из которых должна быть нанесена отдельным цветом. Каждая строка на самом деле состоит из нескольких наборов данных (положительные, отрицательные области и т. Д.), Поэтому я хотел бы иметь возможность создавать генератор, который будет передавать один цвет за раз по спектру, например карту gist_rainbow
показано здесь .
Я нашел следующие работы, но они кажутся очень сложными и, что более важно, трудными для запоминания,
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)
Более того, он не охватывает диапазон цветов на карте gist_rainbow
, мне нужно переопределить карту.
Может быть, генератор - не лучший способ сделать это, если так, каков принятый способ?