12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
ADADADADAD
编程知识 时间:2024-12-05 09:43:58
作者:文/会员上传
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
要在Bokeh中实现跨图表的数据联动,可以使用ColumnDataSource来管理数据,并使用CustomJS来编写JavaScript代码实现数据联动。以下是一个简单的示例:from bokeh.plotting import
以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。
要在Bokeh中实现跨图表的数据联动,可以使用ColumnDataSource
来管理数据,并使用CustomJS
来编写JavaScript代码实现数据联动。以下是一个简单的示例:
from bokeh.plotting import figure, showfrom bokeh.layouts import gridplotfrom 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)
在这个例子中,我们创建了两个图表p1
和p2
,并使用同一个数据源source
来管理数据。然后,我们定义了一个JavaScript回调函数callback
,当用户在第一个图表上点击某个点时,会触发这个回调函数,更新数据源中的数据,从而实现了跨图表的数据联动效果。最后,我们将两个图表放在一个grid中显示。
11-20
11-19
11-20
11-20
11-20
11-19
11-20
11-20
11-19
11-20
11-19
11-19
11-19
11-19
11-19
11-19