亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

在Bokeh中如何實現跨圖表的數據聯動

小樊
87
2024-05-20 11:53:35
欄目: 編程語言

要在Bokeh中實現跨圖表的數據聯動,可以使用ColumnDataSource來管理數據,并使用CustomJS來編寫JavaScript代碼實現數據聯動。以下是一個簡單的示例:

from bokeh.plotting import figure, show
from bokeh.layouts import gridplot
from bokeh.models import ColumnDataSource, CustomJS

# 創建兩個圖表
p1 = figure(width=300, height=300)
p2 = figure(width=300, height=300)

# 創建數據源
source = ColumnDataSource(data={'x': [1, 2, 3, 4, 5], 'y': [6, 7, 2, 4, 5]})

# 在第一個圖表上繪制散點圖
p1.circle('x', 'y', source=source)

# 在第二個圖表上繪制折線圖
p2.line('x', 'y', source=source)

# 定義JavaScript回調函數
callback = CustomJS(args=dict(source=source), code="""
    // 獲取選中的數據索引
    var selected_index = cb_obj.selected.indices[0];
    
    // 獲取選中的數據
    var data = source.data;
    var x = data['x'][selected_index];
    var y = data['y'][selected_index];
    
    // 更新數據源
    source.data['x'] = [x];
    source.data['y'] = [y];
    source.change.emit();
""")

# 將JavaScript回調函數綁定到第一個圖表上
p1.js_on_event('tap', callback)

# 將兩個圖表放在一個grid中顯示
grid = gridplot([[p1, p2]])

show(grid)

在這個例子中,我們創建了兩個圖表p1p2,并使用同一個數據源source來管理數據。然后,我們定義了一個JavaScript回調函數callback,當用戶在第一個圖表上點擊某個點時,會觸發這個回調函數,更新數據源中的數據,從而實現了跨圖表的數據聯動效果。最后,我們將兩個圖表放在一個grid中顯示。

0
丹阳市| 南昌县| 肇庆市| 龙陵县| 仁怀市| 巴中市| 临泉县| 津南区| 双柏县| 襄城县| 凉山| 巴中市| 南宫市| 若尔盖县| 神农架林区| 淄博市| 沧源| 乾安县| 孝昌县| 同德县| 青铜峡市| 镶黄旗| 虎林市| 许昌县| 远安县| 瑞金市| 井冈山市| 南丹县| 五河县| 绥中县| 青海省| 绵阳市| 章丘市| 镇原县| 瓮安县| 民权县| 靖远县| 东乌珠穆沁旗| 遂川县| 麦盖提县| 崇阳县|