Bokeh - создайте собственный hovertool для одиночного символа на фигуре - PullRequest
0 голосов
/ 08 января 2019

Я создал карту, примерно следуя примеру texas.py из документации Bokeh. Я пытаюсь добавить точку на карте, которая имеет свое поведение при наведении курсора. Я добавил глиф со следующим:

bc_glyph = Circle(x=barclays_x, y=barclays_y, size=10, line_color="black", fill_color="silver", line_width=1)

Я попытался создать пользовательское поведение HoverTool с помощью:

bc_ht = HoverTool(renderers=['bc_glyph'], tooltips=['Barclays Stadium'])

Тогда я позвонил plot.add_glyph(bc_glyph). При запуске моего скрипта я получаю следующий вывод:

ValueError: expected an element of either Auto or List(Instance(Renderer)), got ['bc_glyph']

Быстрый вывод сообщения об ошибке приводит к Брайану, помогающему другому пользователю с подобной проблемой, , поэтому я переписал следующее:

plot_add = plot.add_glyph(bc_glyph)
bc_ht = HoverTool(renderers=['plot_add'], tooltips=['Barclays Stadium'])

Однако, это возвращает ту же ошибку:

ValueError: expected an element of either Auto or List(Instance(Renderer)), got ['plot_add']

Я понимаю, что введен неверный ввод для renderers, но я не уверен, как это исправить. Любая помощь приветствуется.

1 Ответ

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

Вы все еще передаете строку, 'plot_add', в качестве значения. Вам необходимо передать фактическую переменную:

bc_ht = HoverTool(renderers=[plot_add],           # no quote around plot_add
                  tooltips=['Barclays Stadium'])
...