5

我正在使用 GeoViews 将网格数据的地图绘制为gv.Image对象。目前,我的绘图功能如下所示:

def plot_variable(path):
    var_ = xr.open_dataarray(path)
    dataset = gv.Dataset(var_[:, 0].to_dataset(),
                     kdims=kdims, vdims=vdims)

    pl_ = hv.Overlay([
              dataset.to(gv.Image, geo_dims, crs=prj_)(
                      plot=dict(projection=prj_, vmax=0.04)),
              gf.coastline(plot=dict(projection=prj_, scale='10m'),
                           style=dict(linewidth=2.5)),
              gf.borders(plot=dict(projection=prj_, scale='10m'),
                   style=dict(linewidth=1.5)),
              ]).collate()

    return pl_

现在,我想设置颜色范围的最小值和最大值,即 HoloViewsvminvmaxkwargs 的等效值。

如何设置vmin以及vmax何时使用gv.Image

4

2 回答 2

3

@eudoxos:您可以在.opts选项中使用clim参数,例如

 import holviews as hv
 vmin=0
 vmax=0.4
 hv.Image(np.random.randn(4, 5)).opts(cmap='gray',clim=(vmin,vmax))

上述命令的输出

于 2020-09-01T16:41:09.507 回答
2

您可以更改图像的值维度的范围:

import holoviews as hv
img = hv.Image(np.random.randn(4, 5))
img.redim(z=dict(range=(-10, 10)))
于 2017-04-18T13:02:27.000 回答