最近在绘制气象图时遇到一个问题,采用默认的色标两端颜色过重,不太合适。在网上查找资料后,学到了如何裁剪colormap。现做一下总结分享。
参考:
公众号:
DQS小王
云台天使
#首先导入需要的包
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap
'-------------------------------------------------'
cmap=mpl.cm.Spectral#获取Spectral色条,Spectral_r即为反色
newcolors=cmap(np.linspace(0,1,256))#分片操作
newcmap=ListedColormap(newcolors[:200])#只取200以前的颜色列表,后面的舍去
'-------------------------------------------------'
levels = np.arange(0,300+20,20)#设置色带的颜色间隔
#在绘图时,使cmap=newcmap
cs=ax.contourf(lon_range,lat_range,pr_region,levels=levels,cmap=newcmap,transform=ccrs.PlateCarree(),extend='both')
上图未截取
这张是截取好的!