首页 > 解决方案 > 设置 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)

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

标签: pythonholoviewshvplot

解决方案


编辑:

使用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)

推荐阅读