Red*_*jed 5 python holoviews hvplot
我想为 hvplots 生成的图设置默认选项。
通常在全息视图中我会这样做来为每个图设置默认值:
import holoviews as hv
from holoviews import opts
hv.extension('bokeh')
opts.defaults(opts.Curve( height=400, width=900 ,show_grid=True))
Run Code Online (Sandbox Code Playgroud)
现在我正在使用 hvplots,导入已成为基于 xarray 的绘图的以下内容
import xarray as xr
import hvplot.xarray
Run Code Online (Sandbox Code Playgroud)
如果我有一个 xarray 数据集并且我想绘制其中一个维度,那么我使用这个
ds.myDims.hvplot()
Run Code Online (Sandbox Code Playgroud)
然而,这给出了一个具有默认宽度且没有网格线的图。要添加它,我需要指定绘图的选项。
ds.myDims.hvplot(height=400, width=900,grid=True)
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想全局设置高度、宽度、网格等,就像在全息视图中一样,所以我不必为每个绘图指定它。
编辑:
使用hvplot >= 0.5,您现在可以为绘图设置默认设置,如下所示:
from holoviews import opts
opts.defaults(
opts.Scatter(
width=700, height=300,
color='black',
active_tools=['box_zoom'],
))
Run Code Online (Sandbox Code Playgroud)
替代(旧)解决方案:
在字典中定义默认设置,并在每次创建绘图时解压该字典:
default_settings = {'height': 400, 'width': 900}
plot = ds.myDims.hvplot(**default_settings)
another_plot = ds.myDims.hvplot(**default_settings)
Run Code Online (Sandbox Code Playgroud)