- 积分
- 3454
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2021-4-11
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
- import matplotlib
- from netCDF4 import Dataset,num2date
- import datetime
- from mpl_toolkits.basemap import Basemap
- import matplotlib.pyplot as plt
- from matplotlib import colors
- import numpy as np
- #让图中中文字体显示方式
- matplotlib.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文
- matplotlib.rcParams['axes.unicode_minus']=False # 正常显示负号
- # 自定义时间段
- month_B=7;day_B=1;month_E=8;day_E=31 #这里选取盛夏
- # 自定义纬度范围
- lat_B=10;lat_E=90;lon_B=30;lon_E=190 #这里选取欧亚
- # 自定义等压面层次
- level=500
- # 打开文件
- filename='E:\PycharmProjects\yiyue\GOSATTFTS2017010120170131_4BP01MV0206.nc'
- fh=Dataset(filename,mode='r')
- # 对绘图变量进行赋值
- lons = fh.variables['lon'][:]
- lats = fh.variables['lat'][:]
- conc = (fh.variables['conc'][1,1,:,:])*100000000
- print(conc)
- # 新建地图并设定经纬度范围
- m = Basemap(llcrnrlat = lat_B, urcrnrlat = lat_E, llcrnrlon = lon_B, urcrnrlon = lon_E)
- # 网格化经纬度并形成坐标矩阵
- lon, lat = np.meshgrid(lons, lats)
- xi, yi = m(lon, lat)
- print(len(xi))
- # 设置等值线范围及间隔
- levels=range(40000,43000,400)
- # 创建填色图层,alpha为透明度0-1,Vmax表示大于该值使用同样的填色以突出副热带高压主体
- cs = m.contourf(xi, yi,conc,levels=levels,vmin=40000,vmax=43000,alpha=1,cmap="RdBu_r")
- # 创建等值线图层
- cs2 = m.contour(xi, yi, conc,levels=levels,colors='black',linewidths=0.5)
- # 绘制经纬线背景网格 label为经纬度标签位置[左,右,上,下]
- m.drawparallels(np.arange(-90., 91., 20.), labels=[1,0,0,0], fontsize=10)
- m.drawmeridians(np.arange(-180., 181., 40.), labels=[0,0,0,1], fontsize=10)
- # 添加海岸线国界等
- m.drawcoastlines()
- m.drawstates()
- m.drawcountries()
- cbar = m.colorbar(cs, location='bottom', pad="10%")
- plt.title('co2浓度',size=20)
- # 执行可视化(弹出窗口)
- plt.savefig('u-shaded.png')
- plt.show()
复制代码
|
-
得到的图
|