У меня есть сетка глифов, сгенерированных plot.rect
, и я хочу найти глиф, дважды ударяемый пользователем. Каждый глиф представляет точку данных и имеет 2 связанных URL-адреса. Я уже использую действие одним касанием (через TapTool + OpenURL) для общего URL-адреса, на который я хочу отправить пользователя, и я хотел использовать действие двойного нажатия для менее распространенного URL-адреса
Фрагмент моего кода:
# self.source contains `logs_link` used below in OpenURL and contains a second
# field called `alt_logs_link` that I want to surface via double-tap.
rect = self.plot.rect(
x="run_date", y="test_name", width=1, height=1,
source=self.source, line_color='#ffffff', line_width=1.5,
fill_color={'field': 'job_status', 'transform': color_mapper})
taptool = self.plot.select(type=TapTool)
taptool.callback = OpenURL(url="@logs_link{safe}")
def doubletap_callback(event):
print("IN DOUBLE TAP")
print(event)
self.plot.on_event(DoubleTap, doubletap_callback)
Событие DoubleTap, кажется, содержит только координаты x / y события. Как я могу сопоставить эти координаты глифу, который был дважды нажат?
Может быть, я могу использовать .select()
, чтобы найти глиф как-то , но я не смог найти способ сделать запрос по x / y координаты.
Я открыт для других предложений, кроме двойного нажатия, чтобы отобразить 2 разных URL на глиф.