散景图放大/缩小VBox(ts1,ts2,ts3)

时间:2015-04-07 00:14:08

标签: python bokeh

我正在使用Bokeh绘制我的数据点。我使用VBox(ts1, ts2, ts3)将3个不同的图表垂直堆叠在一起。

我为每个绘图单独设置了鼠标滚动放大/缩小功能。我想确定我是否可以将它们绑在一起,这样如果我在其中一个图中放大/缩小,另外两个图也相应地放大/缩小,以便在任何点上我所有3的x轴图表的排列方式相同。

1 个答案:

答案 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_pa​​nning.ipynb"