关闭 NdOverlay 对象的活动工具

Turn active tools for NdOverlay object off

我有一个使用 hvplots 的叠加图,我想默认关闭所有工具。我知道当你有一个图形句柄时,这可以按照 here 中描述的那样使用 plot.toolbar.active_drag = None 来完成。但是,当尝试在 Ndoverlay 对象上使用此方法时,出现错误 'NdOverlay' object has no attribute 'toolbar'。我还尝试使用 fig.add_layoutfig.add_glyphs 将叠加层添加到一个空的全息图,但这也不起作用。我怎样才能达到预期的行为?

MWE:

import numpy as np
import holoviews as hv
hv.extension('bokeh')

points = [(0.1*i, np.sin(0.1*i)) for i in range(100)]
overlay =hv.NdOverlay({interp: hv.Curve(points[::8]).opts(interpolation=interp, width=600)
                       for interp in ['linear', 'steps-mid', 'steps-pre', 'steps-post']})
overlay

我根据 问题的答案找到了一种方法,将其渲染为散景图。

import numpy as np
import holoviews as hv
from bokeh.plotting import show
hv.extension('bokeh')

points = [(0.1*i, np.sin(0.1*i)) for i in range(100)]
overlay =hv.NdOverlay({interp: hv.Curve(points[::8]).opts(interpolation=interp, width=600)
                       for interp in ['linear', 'steps-mid', 'steps-pre', 'steps-post']})

plot = hv.render(overlay, backend='bokeh')
plot.toolbar.active_drag = None
show(plot)