我正在使用Bokeh绘制我的数据点。我使用VBox(ts1, ts2, ts3)
将3个不同的图表垂直堆叠在一起。
我为每个绘图单独设置了鼠标滚动放大/缩小功能。我想确定我是否可以将它们绑在一起,这样如果我在其中一个图中放大/缩小,另外两个图也相应地放大/缩小,以便在任何点上我所有3的x
轴图表的排列方式相同。
答案 0 :(得分:2)
这是一个可以满足您需求的玩具程序。它使用链接的x和y范围,这意味着不仅缩放,而且平移保持同步。您可以通过查看第二和第三个图中如何指定x_range和y_range来了解它是如何完成的。
import numpy as np
from bokeh.plotting import *
output_file('linked_panning.html')
N=300
x = np.linspace(0, 4*np.pi, N)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.sin(x) + np.cos(x)
s1 = figure(plot_width=350, plot_height=350)
s1.scatter(x, y1)
s2 = figure(plot_width=350, plot_height=250, x_range=s1.x_range, y_range=s1.y_range)
s2.scatter(x, y2)
s3 = figure(plot_width=350, plot_height=350, x_range=s1.x_range, y_range=s1.y_range)
s3.scatter(x, y3)
p = gridplot(([[s1, s2, s3]]))
show(p)
改编自散景示例库文件" linked_panning.ipynb"