具有最大值的xarry打印像素不会被级别s淹没

2024-06-18 07:10:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我在xarray中有一个DataArray,我想绘制它

该数据称为da_landsat_daily_gci_2009_sel,看起来像:

<xarray.DataArray 'GCI' (latitude: 106, longitude: 193)>
dask.array<shape=(106, 193), dtype=float64, chunksize=(106, 193)>
Coordinates:
  * latitude   (latitude) float32 -33.9 -33.950478 ... -39.149525 -39.2
  * longitude  (longitude) float32 140.8 140.84792 140.89584 ... 149.95209 150.0
    time       datetime64[ns] 2009-02-14

其GCI值范围为18.50至100.00

我试图用xarray的plot function绘制数据

da_landsat_daily_gci_2009_sel.plot(levels=[0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100], cmap=plt.cm.jet)

情节如下所示: enter image description here

显然,没有绘制GCI值为100的所有像素。似乎levels参数排除了最大值。我是否做错了什么或遗漏了什么来包含最大值


Tags: 数据plot绘制dalandsatdailyxarraylevels
1条回答
网友
1楼 · 发布于 2024-06-18 07:10:31

我想这是因为间隔边界是开放的,所以它不包括值100

我试图重现这个问题,但我没有得到相同的行为,mi级别之外的值包含在范围之外的值的颜色中,并且在颜色栏的顶端有一个相应的三角形

尝试强制此行为添加extend='max'

如果希望对绘图进行更多控制,我建议直接使用matplotlib,而不是在xarray中实现

相关问题 更多 >