设置 hvplots 的默认选项

Setting default options for hvplots

我想为 hvplots 生成的绘图设置默认选项。

通常在全息视图中,我会这样做来为每个图设置默认值:

import holoviews as hv
from holoviews import opts
hv.extension('bokeh')
opts.defaults(opts.Curve( height=400, width=900 ,show_grid=True))

现在我正在使用 hvplots,对于基于 xarray 的绘图,导入已变为以下内容

import xarray as xr
import hvplot.xarray

如果我有一个 xarray 数据集并且我想绘制其中一个维度,那么我会使用这个

ds.myDims.hvplot()

然而,这给出了一个具有默认宽度且没有网格线的图。要添加这个,我需要用绘图指定选项。

ds.myDims.hvplot(height=400, width=900,grid=True)

理想情况下,我想全局设置高度、宽度、网格等,就像在全息视图中一样,这样我就不必为每个绘图都指定它。

编辑:

使用 hvplot >= 0.5,您现在可以按如下方式为绘图设置默认设置:

from holoviews import opts

opts.defaults(
    opts.Scatter(
        width=700, height=300, 
        color='black', 
        active_tools=['box_zoom'],
))


替代(旧)解决方案:

在字典中定义默认设置,并在每次创建绘图时解压该字典:

default_settings = {'height': 400, 'width': 900}

plot = ds.myDims.hvplot(**default_settings)

another_plot = ds.myDims.hvplot(**default_settings)