我想使用散景TapTool
单击每个 URL 时打开不同的 URLholoviews.Polygons
。散景中的一个完美示例是散景文档 https://docs.bokeh.org/en/latest/docs/user_guide/interaction/callbacks.html#openurl对于点数据。但是,当我尝试在全息视图中使用它时,它似乎不起作用。
我能开始工作的最接近的事情是:
import geoviews as gv
from bokeh.models import OpenURL, TapTool
url = 'https://google.@domain'
taptool = TapTool()
taptool.callback = OpenURL(url=url)
p = gv.Polygons(data, vdims=['Area', 'domain'], crs=ccrs.PlateCarree).options(alpha=1, tools=['hover', taptool])
p
情节显示得很好,而且 URL 打开的触发工作正常,但是“@domain”的解析不起作用,URL 是“google.???”
这里有什么问题吗?
您可以访问散景figure
在全息视图中使用hook
选项,描述在 HoloViews 文档中 https://holoviews.org/user_guide/Plots_and_Renderers.html#saving-and-rendering.
通过访问散景图,您可以执行诸如连接任意回调之类的操作。
例如,在 python 回调中访问光标坐标,或句柄Tap https://docs.bokeh.org/en/latest/docs/reference/events.html#bokeh.events.Tap events:
import holoviews as hv
from bokeh.events import MouseMove, Tap
def hook(plot, element):
# allows access to the bokeh `figure` object
# so we can bind figure interaction events
plot.state.on_event(MouseMove, on_mouse_move)
plot.state.on_event(Tap, on_click)
# The handles contain common plot objects
# plot.handles
def on_mouse_move(event):
# do something
def on_click(event):
# do something
my_hv_plot = hv.Points([])
my_hv_plot.opts(hooks=[hook])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)