首先,将别人论文中的colormap截图之后,拖到windows自带的画图工具中,选择吸管工具,然后点击其中一个颜色,(这里以图中的蓝色为例),再点击吸管工具,点到颜色上,然后再点击编辑工具,查看对应的RGB。
这里就得到了颜色对应RGB的色标数值,其他颜色同样操作。这样就获得了完整的colormap对应的RGB。
然后,放到python中,将这一连串RGB定义为一个array,再使用 ListedColormap
函数定义为一个新的colormap,这样就可以在绘图的过程中使用了。
python中的代码如下所示:
import numpy as np
import cmaps
import matplotlib.pyplot as plt
import matplotlib as mpl
from matplotlib.colors import ListedColormap
#######################生成画板#####################################
fig=plt.figure(figsize=(10,8),dpi=150)
ax1=fig.add_axes([0,0,1,0.05])
from matplotlib.colors import ListedColormap
rgb=(
[ 100,149,237],
[ 162,203,122],
[ 194,233,143],
[ 223,246,179],
[ 249,246,212],
[ 243,236,189],
[ 228,216,152],
[222,195,122],
[ 198,165,115],
[ 164,138,114],
[ 159,144,130],
[ 249,249,254],
)
rgb=np.array(rgb)/255.0
new_cmap=ListedColormap(rgb,name='new_cmap')
norm =mpl.colors.Normalize(vmin=-12, vmax=12)
fc1=fig.colorbar(mpl.cm.ScalarMappable(norm=norm,cmap=new_cmap),
cax=ax1,
ticks=[-10,-8,-6,-4,-2,0,2,4,6,8,10],
orientation='horizontal',
label='new cmap' ,
)
新定义的colormap的结果如下图所示: