I found a way to show a merged toolbar + individual hover tool for each figure by doing the following:
import bokeh
from bokeh.io import show
from bokeh.models import Button, CustomJS
from bokeh.plotting import figure
from bokeh.layouts import gridplot
tools = “box_zoom,pan,wheel_zoom,undo,reset,save,hover”
fig_list = [figure(plot_height=150,plot_width=300,tools=tools,active_inspect=,active_drag=“box_zoom”) for i in range(3)]
for fig in fig_list:
fig.scatter(x=range(10),y=range(10))
grid_list = [gridplot([[fig]],toolbar_location=‘left’) for fig in fig_list]
for grid in grid_list:
grid.children[0].logo = None
grid.children[0].merge_tools = False
grid.children[0].tools = [i for i in grid.children[0].tools if type(i)==bokeh.models.tools.HoverTool]
hover_button_code="""
if(cb_obj.button_type.includes(“success”)){
cb_obj.button_type = ‘danger’;
cb_obj.label = ‘Disable hover’
} else {
cb_obj.button_type = ‘success’;
cb_obj.label= ‘Enable hover’;
}
for(i=6;i<9;i++){document.getElementsByClassName(‘bk-toolbar-button’)[i].click()}
“”"
hover_button = Button(label=‘Enable hover’,button_type=‘success’,width=220)
hover_button.callback = CustomJS(code=hover_button_code)
grid_group = gridplot([[grid] for grid in grid_list]+[[hover_button]],toolbar_location=‘above’)
show(grid_group)
``
But this seems like a lot of manipulation, if anyone knows of a cleaner way to get that same layout I would be very interested.