[英]Create a color generator from given colormap in matplotlib
我有一系列的線條,每個線條需要用單獨的顏色繪制。 每條線實際上由幾個數據集(正面,負面區域等)組成,所以我希望能夠創建一個生成器,一次在一個光譜上提供一種顏色,例如這里顯示的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
地圖中的顏色范圍,我必須重新定義地圖。
也許發電機不是最好的方法,如果是這樣,接受的方式是什么?
要索引特定顏色映射的顏色,您可以使用:
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))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.