在xarray中显示具有NaN值的Cartopy刻面网格图时发生ValueError

问题描述

我正尝试使用具有NaN值的xarray(适用于海域)通过以下代码显示季节性构面网格图:

ds = xr.open_dataset("../data/full_data_monthly_v2018_025.nc")
prKepri = ds['precip'].sel(lat = slice(-0.49,-4.7),lon = slice(103.37,109.1))
data = prKepri.groupby('time.season').mean(dim='time',skipna = False)
proj = ccrs.PlateCarree()
p = data.plot(col = 'season',robust = True,cmap = 'magma_r',col_wrap =2,subplot_kws=dict(projection=proj),transform=ccrs.PlateCarree())
for ax in p.axes.flat:
    ax.coastlines();

然后xarray向我提出一个错误

ValueError: zero-size array to reduction operation minimum which has no identity

我尝试使用skipna = False参数。但是问题仍然存在。 我使用GPCC重新分析数据:https://opendata.dwd.de/climate_environment/GPCC/full_data_2018/full_data_monthly_v2018_025.nc.gz。

我使用xarray v 0.16.0

解决方法

这是matplotlib 3.3.1中的bug,导致CartoPy 0.18出现问题。在发布matplotlib 3.3.2之前,最简单的解决方法可能是安装matplotlib 3.3.0。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...