在Bokeh應用中實現鏈接的視圖可以通過使用link
函數來實現。link
函數可以將一個或多個屬性鏈接到另一個屬性,從而實現視圖之間的鏈接。例如,您可以將兩個圖表的x軸或y軸屬性鏈接在一起,以便它們在拖動或縮放時保持同步。以下是一個簡單的示例,演示如何在Bokeh應用中實現鏈接的視圖:
from bokeh.models import ColumnDataSource
from bokeh.plotting import figure
from bokeh.layouts import gridplot
from bokeh.io import curdoc
# 創建兩個數據源
source1 = ColumnDataSource(data=dict(x=[1, 2, 3, 4, 5], y=[6, 7, 2, 4, 5]))
source2 = ColumnDataSource(data=dict(x=[1, 2, 3, 4, 5], y=[6, 7, 2, 4, 5]))
# 創建兩個圖表
plot1 = figure(title="Plot 1", tools="pan,reset,save", plot_width=400, plot_height=400)
plot1.circle('x', 'y', source=source1)
plot2 = figure(title="Plot 2", tools="pan,reset,save", plot_width=400, plot_height=400)
plot2.line('x', 'y', source=source2)
# 鏈接兩個圖表的x軸和y軸
plot1.x_range = plot2.x_range
plot1.y_range = plot2.y_range
# 將圖表放置在一個網格布局中
layout = gridplot([[plot1, plot2]])
curdoc().add_root(layout)
在這個示例中,我們創建了兩個數據源和兩個圖表,并將它們鏈接在一起,使得它們的x軸和y軸在拖動或縮放時保持同步。最后,我們將圖表放置在一個網格布局中,并將布局添加到Bokeh應用的根部。
通過使用link
函數,您可以實現更復雜的視圖鏈接,例如將多個圖表的不同屬性鏈接在一起,以實現更復雜的交互效果。您可以查閱Bokeh的官方文檔以獲取更多關于link
函數的信息和示例。