Jupyter Python Notebook:交互式散点图,其中每个数据点都与其自己的图相关联?
问题描述:
考虑一组数据点。每个数据点由两个数字和两个数组组成。例如,这两个数字可能是两个参数的值,两个数组可能表示相关的时间过程数据。我想在Jupyter Python Notebook中生成一个内联散点图,在这个图表中我将这两个数字相互关联。此外,我希望散点图是交互式的,因此,当我将光标悬停在数据点上时,会出现第二个图,在这个图中两个数组相互对齐。我应该怎么做?Jupyter Python Notebook:交互式散点图,其中每个数据点都与其自己的图相关联?
Here是Bokeh中的一个例子,它接近我想要的,但它只显示与每个点相关的浮动文本框而不是图。我应该说,如果图形没有浮动,而是靠近散点图,我会更喜欢。
谢谢。
答
从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)