Python Bokeh - HoverTool: координаты для фигуры, а не точек данных - PullRequest
0 голосов
/ 24 января 2019

Я использую версию Bokeh 1.0.3 в Windows и Python 3.6.6.

У меня есть точечная диаграмма, и я пытаюсь выяснить, получить ли координаты x, y фигуры, когдакурсор мыши находится внутри (прямоугольной) фигуры, но снаружи / не указывает на точки рассеяния.

Код здесь:

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

N = 10
x = [1,2,3,4,5,6,7,8,9,10]
y = [-1,2,-3,4,5,1,-2,3,-4,-5]
r = 0.3
hover = HoverTool(
    tooltips=[
        ("index", "$index"),
        ("data (using $) (x,y)", "($x, $y)"),
        ("data (using @) (x,y)", "(@x, @y)"),
        ("canvas (x,y)", "($sx, $sy)")
    ])
TOOLS = [hover]

p = figure(tools="hover,reset,save")
p = figure(tools=TOOLS)
p.scatter(x, y, radius=r, fill_alpha=0.6,line_color=None)
show(p)

Вот, например, когда мы указываем на подсвеченный желтый цветобласти, мы получим координаты х, у.

img

1 Ответ

0 голосов
/ 25 января 2019

Начиная с Bokeh 1.0.4, встроенный инструмент наведения не имеет такого режима. Инструмент наведения мыши отображается только тогда, когда курсор «ударил» по глифу. Причина этого заключается в том, что спецификаторы полей, такие как @x, означают «показать значение в CDS для глифа под курсором». Если под курсором нет символа, что должно отображаться в этом поле во всплывающей подсказке?

В качестве альтернативы вы можете использовать низкоуровневые события мыши для обновления некоторого фиксированного Div вне графика информацией о местоположении. Соответствующим примером является здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...