手动为地理视图设置纬度,经度范围

时间:2019-08-23 17:37:02

标签: python holoviews geoviews

我正在使用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))

这没有明显的作用。

0 个答案:

没有答案