Невозможно построить контурные участки с использованием matplotlib и cartopy в python - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь построить 2 фигуры из файлов NetCDF после анализа на вспомогательных участках, я могу построить на отдельном графике, но не могу отобразить как вспомогательные. Ошибки не отображаются, но число не отображается правильно.

import xarray as xr
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import numpy as np
import cartopy.mpl.ticker as cticker

#%% OLR Import
fname ='/home/SIMS/P1/*.nc'                                              
ds = xr.open_mfdataset(fname)

olr = ds.olr
mea = ds.mean('time')

# OLR daily data import
cname ='/home/SIMS/olrr/OLR.nc'
dc = xr.open_dataset(cname)
colr = dc.olr

# calculating JJAS climatology 
def is_jjas(month):
    return (month >= 6) & (month <= 9)

seasonal_data_olr = colr.sel(time=is_jjas(colr['time.month']))
climatology = seasonal_data_olr.mean('time')
# Anomaly
anomaly_olr=mea-climatology



fig = plt.figure()
ax = plt.axes(projection=ccrs.Mercator(central_longitude=80.0, min_latitude=-10.0, max_latitude=20.0, globe=None, latitude_true_scale=0.0))
plt.subplot(2,1,1)
climatology.plot.contourf(ax=ax,transform=ccrs.PlateCarree(),vmin=0, vmax=245)
plt.subplot(2,1,2)
anomaly_olr.olr.plot.contourf(ax=ax, transform=ccrs.PlateCarree(),cmap="jet", vmin=-30, vmax=30)
plt.show()

мои переменные

климатология

xarray.DataArray 'olr' (широта: 15, долгота) : 73)

anomaly_olr.olr

xarray.DataArray 'olr' (lat: 15, lon: 73)

это дает эта фигура без контура

it gives this figure without contourf

1 Ответ

0 голосов
/ 08 мая 2020

После внесения нескольких изменений я смог хорошо это подготовить Я изменил несколько строк следующим образом:

plt.figure(figsize=(8, 10))
ax1 = plt.subplot(2,1,1, projection=ccrs.Mercator(central_longitude=80.0, min_latitude=-10.0, max_latitude=20.0, globe=None, latitude_true_scale=0.0))
anomaly_olr.olr.plot.contourf(ax=ax1, transform=ccrs.PlateCarree(),cmap="jet", vmin=-30, vmax=30)

ax2 = plt.subplot(2,1,2, projection=ccrs.Mercator(central_longitude=80.0, min_latitude=-10.0, max_latitude=20.0, globe=None, latitude_true_scale=0.0))
climatology.plot.contourf(ax=ax2,transform=ccrs.PlateCarree(),vmin=0, vmax=245)
plt.show()

В любом случае, спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...