无数据线沿着地图向下运行



我目前正在绘制来自netcdf数据集的降水。当我绘制数据时,会出现一行没有数据,这不是我绘制的不同绘图。这是我的代码:

import matplotlib.pyplot as plt
from netCDF4 import Dataset as netcdf_dataset
import numpy as np
from cartopy import config
import cartopy.crs as ccrs
fig = plt.figure(figsize=(20,5)) 
dataset = netcdf_dataset(datapath_1 +              
'/PREC.E_2000_CAM5_1850aero.cam.mean.40-100.nc')            
precip = dataset.variables['PREC'][0, :, :]
lats = dataset.variables['lat'][:]
lons = dataset.variables['lon'][:]
ax = plt.axes(projection=ccrs.Robinson())
ax.contourf(lons, lats, precip, 100, transform=ccrs.PlateCarree())

ax.coastlines()
plt.show()

这是输出地图: 输出地图

您可能需要向数据数组和经度坐标添加循环点 (https://scitools.org.uk/cartopy/docs/v0.16/cartopy/util/util.html#cartopy.util.add_cyclic_point(。您的示例已修改为执行此操作(但未经过测试,因为我们没有您的输入数据(:

import matplotlib.pyplot as plt
from netCDF4 import Dataset as netcdf_dataset
import numpy as np
from cartopy import config
import cartopy.crs as ccrs
from cartopy.util import add_cyclic_point
dataset = netcdf_dataset(datapath_1 +
'/PREC.E_2000_CAM5_1850aero.cam.mean.40-100.nc')
precip = dataset.variables['PREC'][0, :, :]
lats = dataset.variables['lat'][:]
lons = dataset.variables['lon'][:]
precip_c, lons_c = add_cyclic_point(precip, coord=lons)
fig = plt.figure(figsize=(20,5))
ax = plt.axes(projection=ccrs.Robinson())
ax.contourf(lons_c, lats, precip_c, 100, transform=ccrs.PlateCarree())
ax.coastlines()
plt.show()

最新更新