You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bokeh升级至最新版后移动端HoverTool失效问题求助

解决Bokeh Server升级后移动端HoverTool失效(图表被当作图片选中)的问题

方案1:禁用图表区域的元素选中行为

Bokeh新版本在移动端可能默认开启了画布元素的选中功能,导致触摸操作优先触发选中而非HoverTool。可以通过添加自定义CSS禁用该行为:

from bokeh.models import Div
from bokeh.plotting import curdoc

# 定义禁用选中的CSS样式
custom_css = """
.bk-canvas-wrapper {
    user-select: none;
    -webkit-user-select: none; /* 适配iOS/Android的webkit浏览器 */
    -moz-user-select: none;
    -ms-user-select: none;
}
"""
# 将样式添加到文档中
style_div = Div(text=f"<style>{custom_css}</style>")
curdoc().add_root(style_div)

这段代码会阻止浏览器将图表画布识别为可选中元素,让触摸操作正常触发HoverTool。

方案2:调整HoverTool的触摸事件配置

部分新版本的Bokeh调整了触摸事件的优先级,修改HoverTool的以下属性可以修复触发逻辑:

from bokeh.models import HoverTool

hover_tool = HoverTool(
    # 保留你原有的tooltips、renderers等配置
    toggleable=False,  # 防止触摸时误触发工具切换
    modal=False        # 允许同时响应触摸和悬停事件
)
# 将工具添加到图表
your_plot.add_tools(hover_tool)

方案3:临时回退至Bokeh 3.6版本

如果上述方案都无法解决,且业务允许,可临时回退到之前的稳定版本:

pip install bokeh==3.6.0

后续可以关注Bokeh官方的更新,待该问题修复后再升级。

内容的提问来源于stack exchange,提问作者user3052581

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 10:24:55