Вот мой вопрос.
Когда я хочу использовать много цветовой карты, я мог бы использовать
CMAP = ["summer_r", "brg_r", "Dark2", "prism", "PuOr_r", "afmhot_r", "terrain_r", "PuBuGn_r", "RdPu", \
"gist_ncar_r", "gist_yarg_r", "Dark2_r", "YlGnBu", "RdYlBu", "hot_r"]
## value was a 3-d array, the first dimension represent the amount of 2-d array with the value (0, 1).
## I just plot the value 1 for each value[i,:,:]
for i in range(0,len(CMAP),1):
plt.pcolor(xx,yy,value[i,:,:], cmap = CMAP[i])
И я могу получить это:
http://i8.tietuku.com/cdcdcd5f539c124b.png
Но я не могу четко представить цвет каждой сетки перед созданием рисунка.
Потому что некоторые карты цветов, которые я добавляю в CMAP, могут иметь один и тот же начальный цвет. ТАК, некоторые сетки значений [ i, :, :] будет трудно различить.
Моя идея
Вместо этого используйте одну цветовую карту и разделите ее на один цвет для каждого значения [i, :, :]. Таким образом, каждая сетка значений имеет свой цвет.
Например:
## 1. cut the colormap, take "jet" for example
cMap = plt.cm.get_cmap("jet",lut=6)
http://i4.tietuku.com/be127c44e87a03fc.png
## 2. I havn't figured it out
## This is the fake code
CMAP = Func[one color -> colormap](cMap)
Обновление -2016-01-18
Это мой код для установки разных cmap и циклов, но он был немного жестким.
cmap1 = colors.ListedColormap(["w",'red'])
cmap2 = colors.ListedColormap(["w",'blue'])
cmap3 = colors.ListedColormap(["w",'yellow'])
CMAP = [cmap1,cmap2,cmap3]
Тогда я смогу справиться с моей первоначальной попыткой.
Но мне было интересно, есть ли умный способ сгенерировать cmap1, cmap2, ......?