- 积分
- 247
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2018-12-30
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如图,我画的是全球范围的,底图也是世界范围的,但是在画出等值图以后范围就缩小了,nc文件的经度范围是0到357.5,纬度是90到-90,分辨率2.5*2.5。这是不是因为数据的精度问题导致的?该怎么解决呢?这是粗略的代码:
import xarray as xr
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.ticker as mticker
import cartopy.crs as ccrs
import cartopy.feature as cfeat
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER
from cartopy.io.shapereader import Reader
proj = ccrs.PlateCarree()####简写投影
plt.rcParams['font.sans-serif']=['SimHei'] ####设置中文
f = xr.open_dataset(r'E:\lunwen\data\air.mon.mean.nc')####数据为1948到2020年月平均气温
lon=f['lon'][:]#读取经度
lat=f['lat'][:]#读取纬度
lons,lats=np.meshgrid(lon,lat)#网格化
tem=f['air'].loc['1980-01-01':'2019-12-01'].isel(level=5)####设置时间范围,高度500hPa
ttem=np.mean(tem, axis=1)####纬向平均
tttem=tem-ttem####纬向平均偏差,即“定常波”
ttttem=np.mean(tttem, axis=0)####时间平均
#####设置底图
shp_path=r'E:\学习资料\World GIS data\country.shp'
####设置画布
fig = plt.figure(figsize=(10, 6), dpi=400) # 创建画布
ax = fig.subplots(1, 1, subplot_kw={'projection': proj})#子图
reader = Reader(shp_path)
enshicity = cfeat.ShapelyFeature(reader.geometries(), proj, edgecolor='k', facecolor='none')
ax.add_feature(enshicity, linewidth=0.7)#添加市界细节
#####绘制等值线
ac=ax.contour(ttttem)
plt.show()
|
-
|