gpt4 book ai didi

python - 使用 HoverTool() 工具时仅显示一个工具提示

转载 作者:太空狗 更新时间:2023-10-30 00:19:01 25 4
gpt4 key购买 nike

我在 Bokeh 中绘制了很多点,并且添加了 HoverTool到图中的工具列表,以便鼠标在接近字形时显示鼠标的 x,y 坐标。

当鼠标靠近一组紧密排列在一起的字形时,我会得到与字形一样多的工具提示。我只想要一个工具提示,最接近的字形之一。这不仅仅是一个演示细节,因为对于很多点来说,结果是:

  • 与绘图交互缓慢,浏览器在生成所有工具提示时卡住
  • 在一个很长的工具提示中,相同的信息被重复的次数与光标附近的字形数一样多

下面是一个示例,其中包含复制行为的代码: enter image description here

import numpy.random
from bokeh.plotting import figure, output_notebook, show
from bokeh.models import HoverTool
output_notebook()

hover = HoverTool()
hover.tooltips = [("(x,y)", "($x, $y)")]

x = numpy.random.randn(500)
y = numpy.random.randn(500)

p = figure(tools=[hover])
p.circle(x,y, color='red', size=14, alpha=0.4)

show(p)

最佳答案

我遇到了类似的问题,想出了一个使用自定义工具提示的解决方案。我在顶部插入一个样式标签,它只显示 .bk-tooltip 类下的第一个子 div,这是第一个工具提示。

这是一个工作示例:

from bokeh.plotting import figure, show
from bokeh.models import HoverTool, Range1d

custom_hover = HoverTool()

custom_hover.tooltips = """
<style>
.bk-tooltip>div:not(:first-child) {display:none;}
</style>

<b>X: </b> @x <br>
<b>Y: </b> @y
"""

p = figure(tools=[custom_hover]) #Custom behavior
#p = figure(tools=['hover']) #Default behavior

p.circle(x=[0.75,0.75,1.25,1.25], y=[0.75,1.25,0.75,1.25], size=230, color='red', fill_alpha=0.2)
p.y_range = Range1d(0,2)
p.x_range = Range1d(0,2)

show(p)

这是一种 hacky 解决方案,但它适用于 Safari、Firefox 和 Chrome。我认为他们会推出更长期的 solution soon .

关于python - 使用 HoverTool() 工具时仅显示一个工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41706015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com