我有一系列线条,每条线条都需要用单独的颜色绘制。每条线实际上由多个数据集(正区域、负区域等)组成,因此我希望能够创建一个生成器,在整个光谱中一次提供一种颜色,例如gist_rainbow
map 此处显示 http://www.scipy.org/Cookbook/Matplotlib/Show_colormaps.
我找到了以下作品,但看起来很复杂,更重要的是很难记住,
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
地图,我必须重新定义地图。
也许生成器不是最好的方法,如果是的话,可接受的方法是什么?
要从特定颜色图中索引颜色,您可以使用:
import pylab
NUM_COLORS = 22
cm = pylab.get_cmap('gist_rainbow')
for i in range(NUM_COLORS):
color = cm(1.*i/NUM_COLORS) # color will now be an RGBA tuple
# or if you really want a generator:
cgen = (cm(1.*i/NUM_COLORS) for i in range(NUM_COLORS))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)