这是我的想法,我遇到了一些我无法应付的问题。
通过预定义的color_list创建cmap_1,cmap_2,cmap_3,....
color_list = ['#a6cee3','#1f78b4','#b2df8a','#33a02c','#fb9a99',\
'#e31a1c','#fdbf6f','#ff7f00','#cab2d6','#6a3d9a','#ffff99']
## generate the suffix (1,2,3,4...)
letter = np.arange(1,len(site_s)+1,1)
## Loop to generate cmap_i = colors.ListedColormap(["w",color_list[i]])
for i in range(0,len(letter),1):
eval("cmap_%s" % (letter[i])) = colors.ListedColormap(["w",color_list[i]])
但似乎eval(xxx)不起作用。我认为只有当cmap_1,... cmap_n已经存在时才能使用eval
函数。
所以,这是我的一个问题
如何创建新变量 cmap_i ?
添加1
cmap_i
绘制2-d pcolormesh和11个2-d np-array。 例如
for i in range(0,value.shape[0],1):
plt.pcolormesh(value[i,:,:],cmap = cmap_i) ## cmap = cmap_i was the fake code.
添加2
这就是我现在要做的事情
color_list =['#a6cee3','#1f78b4','#b2df8a','#33a02c','#fb9a99',\
'#e31a1c','#fdbf6f','#ff7f00','#cab2d6','#6a3d9a','#ffff99']
cmap1 =cmap2=cmap3=cmap4=cmap5=cmap6=cmap7=\
cmap8=cmap9=cmap10=cmap11 = plt.cm.jet
CMAP = [cmap1 , cmap2, cmap3, cmap4, cmap5, cmap6, cmap7,
cmap8, cmap9, cmap10, cmap11 ]
for i in range(0,len(color_list),1):
CMAP[i]= colors.ListedColormap([color_list[i]])