| 
 
	积分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()
 
 | 
 
得到的图   |