在Bokeh Python中打开散点图上的链接,但不要立即关注链接

时间:2016-06-25 17:00:53

标签: python plot bokeh

我正在使用带有Python的Bokeh模块和以下示例:

from bokeh.models import ColumnDataSource, OpenURL, TapTool
from bokeh.plotting import figure, output_file, show

output_file("openurl.html")

p = figure(plot_width=400, plot_height=400,
           tools="tap", title="Click the Dots")

source = ColumnDataSource(data=dict(
    x=[1, 2, 3, 4, 5],
    y=[2, 5, 8, 2, 7],
    color=["navy", "orange", "olive", "firebrick", "gold"]
    ))

p.circle('x', 'y', color='color', size=20, source=source)

url = "http://www.colors.commutercreative.com/@color/"
taptool = p.select(type=TapTool)
taptool.callback = OpenURL(url=url)

show(p)

这一切都有效,当我点击其中一个圆圈时,我的浏览器中会打开一个新标签,焦点会切换到该标签。

问题

但是,我有兴趣继续使用绘图页面,只需打开新标签页,而无需将焦点切换到该标签页。

有谁知道怎么做?我想这是“OpenURL(...)”的一些关键字参数。

1 个答案:

答案 0 :(得分:1)

截至Bokeh 0.12,没有配置选项。你绝对可以做一个自定义扩展来做到这一点,或者如果你想在核心库中看到它,它将成为一个优秀的小公关,让新的贡献者解决(我很乐意帮助你开始)。无论如何,我鼓励您将这个新功能请求带到项目邮件列表或项目GitHub跟踪器。