首页 > 解决方案 > 如何在不显示悬停工具提示的情况下触发悬停的视觉效果

问题描述

我有一个很大的热图,我在其中通过p.image悬停来绘制单元格,显示确切的值。此外,当将鼠标悬停在某个区域上时,该区域应以轮廓突出显示。A p.rectwith 只能hover_outline_alpha=1按我想要的方式工作,但另外它还显示了一个悬停工具提示。有什么方法可以在触发视觉更改的同时禁用悬停工具提示?

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)

标签: pythonbokehheatmaphighlight

解决方案


我将这个问题交叉发布到散景讨论论坛上,布莱恩回答:

设置toolips=None,而不是空字符串。这记录在工具提示的参考指南条目的底部:

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

推荐阅读