1

我正在使用GeoViews QuadMesh元素绘制数据。我找不到将绘图的地理区域扩展到超出数据边缘的一点点的方法。我想通过显示以 [34, 36] N 纬度和 [30.5, 32.5] E 经度为界的区域来提供更多背景信息(海岸线等)。这是我的代码(来自 Jupyter 笔记本):

import xarray as xr
import numpy as np
import holoviews as hv
from holoviews import opts
import geoviews as gv
import geoviews.feature as gf
from cartopy import crs as ccrs

gv.extension('matplotlib', 'bokeh')

dummy_data = np.arange(100).reshape((10, 10))
dummy_lats = np.tile(np.arange(0, 90, 9), (10, 1))
dummy_lons = np.transpose(dummy_lats)

dummy2d = xr.Dataset(data_vars={'data': (['x', 'y'], dummy_data)},
                     coords={'lat2d': (['x', 'y'], dummy_lats),
                             'lon2d': (['x', 'y'], dummy_lons)})

gf.ocean * gf.land  * gv.Dataset(dummy2d.data).to(gv.QuadMesh)

我努力了:

gf.ocean * gf.land  * gv.Dataset(dummy2d.data).to(gv.QuadMesh, extent=(34, 30.5, 36, 32.5))

WARNING:param.QuadMesh05440: Setting non-parameter attribute extent=(34, 30.5, 36, 32.5) using a mechanism intended only for parameters 在不改变情节的情况下发出警告。

我也试过

img = gf.ocean * gf.land  * gv.Dataset(dummy2d.data).to(gv.QuadMesh)
img.redim.range(Latitude=(34, 36), Longitude=(30.5, 32.5))

这没有明显的效果。

4

0 回答 0