It is possible to execute JavaScript code when the plot is clicked using a Tap event and CustomJS:
from bokeh.plotting import figure
from bokeh.events import Tap
p = figure(...)
p.js_on_event(Tap, CustomJS(args = args, code = js_code))
With cb_obj.x
in the js_code
JavaScript code, I can access the x-value of the data coordinates where the mouse pointer click happened in the plot.
Is there a way to get the x-value of the closest data point which is currently hovered? Of course this would only work if hovering is enabled and when the mouse pointer is close enough to a data point.
In a JS callback from CustomJSHover
, there is the special_vars
variable which provides the coordinates of the hovered data point with the data_x
property. However, it seems that special_vars
is not available in the CustomJS callback of a Tap
event.