Линия отсутствия данных проходит по карте

В настоящее время я рисую осадки из набора данных 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()

и вот выходная карта: выходная карта


person zephyrwhisper    schedule 02.07.2018    source источник


Ответы (1)


Возможно, вам потребуется добавить циклическую точку в массив данных и координату долготы (https://scitools.org.uk/cartopy/docs/v0.16/cartopy/util/util.html#cartopy.util)..add_cyclo_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()
person ajdawson    schedule 03.07.2018