2016-09-22 336 views
1

考虑一组数据点。每个数据点由两个数字和两个数组组成。例如,这两个数字可能是两个参数的值,两个数组可能表示相关的时间过程数据。我想在Jupyter Python Notebook中生成一个内联散点图,在这个图表中我将这两个数字相互关联。此外,我希望散点图是交互式的,因此,当我将光标悬停在数据点上时,会出现第二个图,在这个图中两个数组相互对齐。我应该怎么做?Jupyter Python Notebook:交互式散点图,其中每个数据点都与其自己的图相关联?

Here是Bokeh中的一个例子,它接近我想要的,但它只显示与每个点相关的浮动文本框而不是图。我应该说,如果图形没有浮动,而是靠近散点图,我会更喜欢。

谢谢。

回答

0

Bokeh documentation“定义回调”可能会有所帮助。不方便,不完美,但可以实现你所描述的。

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)