Линия без данных проходит по карте - PullRequest
0 голосов
/ 02 июля 2018

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

и вот карта вывода: карта вывода

1 Ответ

0 голосов
/ 03 июля 2018

Вам может потребоваться добавить циклическую точку в массив данных и координату долготы (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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...