☰Read-only archive⌕
Looking for help with Bokeh?

This is a read-only archive. Ask questions and join the conversation on GitHub.

Visit Community Support on GitHub →
Archived discussions · Captured October 28, 2026

How to trigger visual effects of hover without showing a hover tooltip

Community Support
syntonym
syntonym

I have a large heatmap in which I plot the cells via p.image with a hover that shows the exact values.
Additionally, when hovering over a region the region should be highlighted with an outline. A p.rect with only hover_outline_alpha=1 works exactly as I want it, but additionally it shows a hover tooltip. Is there any way to disable the hover tooltip while still having the visual changes triggered?

from bokeh.palettes import Viridis256
from bokeh.models import HoverTool
from bokeh.plotting import figure

image = [np.array([[0, 1, 0, 0], [1, 0, 0, 0], [0, 0, 0, 1], [0, 0, 1, 0]])]
p = figure(x_range=["aa", "ab", "ba", "bb"], y_range=["aa", "ab", "ba", "bb"], 
           tooltips=[("x", "$x"), ("y", "$y"), ("value", "@image")])

# heatmap 
image_renderer = p.image(image=image, x=0, y=0, dw=4, dh=4, palette=Viridis256)

# outlines for each region
rect_renderer = p.rect(x=[1, 1, 3, 3], y=[1, 3, 1, 3], width=2, height=2, 
       fill_alpha=0.0, line_alpha=0.0, hover_line_alpha=1, line_width=3)


# Disables the tooltip on rect_renderer, but also does not trigger the outline
p.hover.renderers = [image_renderer]
# Seperate hover triggers the hover, but also shows an empty tooltip.
p.add_tools(HoverTool(renderers=[rect_renderer], tooltips=""))

show(p)

I’ve crossposted this to stackoverflow: python - How to trigger visual effects of hover without showing a hover tooltip - Stack Overflow I hope this is acceptable. If not let me know and I delete either the post here or there.

⌁   Link to post
Bryan
Bryan

Set toolips=None, not the empty string. This is documented at the bottom of the reference guide entry for tooltips:

None is also a valid value for tooltips. This turns off the rendering of tooltips.

Also cross-posting is acceptable with cross-links between the posts so that anyone later can find answers in either place.

⌁   Link to post

End of archived discussion · Replies are disabled