Question:
In BokehJS 2.4.2 the BoxZoomTool is always active by default, even when setting theactive
property to false
when adding the tool.const box_zoom = new Bokeh.BoxZoomTool({
active: false,
});
plot.add_tools(box_zoom);
With other tools, such as the FreehandDrawTool
, the tool is not active by default and the active
property is not ignored.How do you add the BoxZoomTool without being active by default?

Answer:
The BoxZoomTool has no parameteractive
, therefor the keyword is ignored in your example.To set tools active, please check out this documentation.
In your case the line
p.toolbar.active_drag = None
does the trick, which deactivates all pan/drag tools
, and you have only on off it.
This line accepts "auto"
, None
or an instance of pan/drag
.Python Example
from bokeh.plotting import show, figure, output_notebook
from bokeh.models import BoxZoomTool
output_notebook()
p = figure(width=300, height=300, tools='')
box_zoom = BoxZoomTool()
p.line(x=[1,2,3,4,5], y=[1,2,3,4,5])
p.toolbar.active_drag = None # could also be "auto" or box_zoom
p.add_tools(box_zoom)
show(p)

This can be adapted to JS.
If you have better answer, please add a comment about this, thank you!
Leave a Review