- 积分
- 9196
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-11-29
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 才仔 于 2020-3-23 11:05 编辑
使用python画填色图时,色标轴如何对称分布的设置
from matplotlib.ticker import MaxNLocator
#绘制高空散度图,数据格式(time,level,latitude,longitude)
cmap = plt.get_cmap('RdBu_r')
levels = MaxNLocator(nbins=13,symmetric=True).tick_values(d[0,1,:,:].min(), d[0,1,:,:].max())#固定色标轴分度值
#norm = BoundaryNorm(levels, ncolors=cmap.N, clip=True)
plt.contour(X,Y,d[0,1,:,:],colors='black',linewidths=1)
f=plt.contourf(X,Y,d[0,1,:,:],levels,cmap=cmap)
cb=plt.colorbar(f,orientation='horizontal',shrink=0.8,pad=0.01)
cb.set_label('divergence',size=15)
cb.ax.tick_params(labelsize=15)
使用MaxNLocator函数将色标轴对称分布,其中symmetric参数设置为Ture
注:
1. cartopy模块省份绘制参考:https://cloud.tencent.com/developer/article/1484356
2. 各省份经纬度数据来自:http://bbs.06climate.com/forum.php?mod=viewthread&tid=92137&highlight=%BE%AD%CE%B3%B6%C8%2Bhdf
3. python matplotlib.ticke.MaxNLocator官网说明 https://matplotlib.org/3.2.0/api/ticker_api.html#matplotlib.ticker.MaxNLocator
|
|