如何通过holoviews
后端控制在bokeh
图中使用/激活哪些工具?我见过this SO answer,但这只是添加一个新的活动工具;不会阻止其他任何工具(例如平移)处于活动状态。
对于一个特定的示例,假设我只想要悬停工具。我会尝试这样做:
import holoviews as hv
hv.extension("bokeh")
hv.Curve([1, 2, 3]).opts(tools=["hover"])
,但是最后我得到了一个情节,该情节除了默认工具外还悬停了 。如何指定要使用的所有工具列表,以便不使用不在该列表中的工具?
类似地,如何指定所有活动工具的列表?例如
import holoviews as hv
hv.extension("bokeh")
hv.Curve([1, 2, 3]).opts(tools=["hover"], active_tools=[])
让我平移和悬停都活跃起来;我希望悬停是唯一的工具,但没有要激活的工具。
答案 0 :(得分:2)
对于第一个问题,请使用default_tools
选项:
hv.Curve([1, 2, 3]).opts(tools=["hover"], default_tools=[])
提出第二个问题,holoviews中没有方法可以执行此操作,但是您可以将其直接设置为Figure
对象:
def set_tools(plot, element):
plot.state.toolbar.active_drag = None
hv.Curve([1, 2, 3]).opts(finalize_hooks=[set_tools])
答案 1 :(得分:0)
出于完整性考虑,目前可以使用以下工具:
box_edit,box_select,box_zoom,单击,十字线,帮助,悬停, lasso_select,pan,point_draw,poly_draw,poly_edit,poly_select, 预览保存,重做,重置,保存,点击,撤消,wheel_zoom,xbox_select, xbox_zoom,xpan,xwheel_pan,xwheel_zoom,xzoom_in,xzoom_out, ybox_select,ybox_zoom,ypan,ywheel_pan,ywheel_zoom,yzoom_in, yzoom_out,zoom_in,zoom_out
只需键入一个不存在的选项,就可以获得所有可能选项的列表。信息错误消息将为您提供可供选择的选项列表。因此,只需:
hv.Scatter(df).opts(tools=['nonsense'])