Bokeh - 无法在下拉菜单更改时更新ColumnDataSource
创始人
2024-12-23 11:00:33
0

要在下拉菜单更改时更新ColumnDataSource,可以使用Bokeh的CustomJS回调函数。下面是一个示例代码:

from bokeh.layouts import column
from bokeh.models import ColumnDataSource, Select
from bokeh.plotting import curdoc, figure
from bokeh.sampledata.iris import data

# 创建ColumnDataSource
source = ColumnDataSource(data)

# 创建一个下拉菜单
select = Select(title="选择花的种类:", value="setosa", options=["setosa", "versicolor", "virginica"])

# 创建一个图形
p = figure(plot_width=400, plot_height=400)
p.circle('sepal_length', 'sepal_width', source=source)

# 定义回调函数
callback = CustomJS(args=dict(source=source, select=select), code="""
    // 获取下拉菜单的值
    var selected_value = select.value;

    // 更新ColumnDataSource的数据
    source.data = data[selected_value];
""")

# 将回调函数与下拉菜单绑定
select.js_on_change('value', callback)

# 创建布局
layout = column(select, p)

# 添加布局到文档
curdoc().add_root(layout)

在这个示例中,我们首先创建了一个ColumnDataSource对象,将Bokeh示例数据集iris中的数据作为源。然后,我们创建了一个下拉菜单select,其中包含三个选项:setosa、versicolor和virginica。

然后,我们创建了一个图形p,使用ColumnDataSource中的数据绘制散点图。

接下来,我们定义了一个CustomJS回调函数,该函数在下拉菜单的值更改时被调用。回调函数将获取下拉菜单的值,并根据该值更新ColumnDataSource的数据。这样,图形中显示的数据将根据下拉菜单的选择进行更新。

最后,我们将回调函数与下拉菜单的value属性绑定,以便在下拉菜单更改时调用回调函数。

最后,我们将下拉菜单和图形添加到一个布局中,并将该布局添加到Bokeh文档中。

相关内容

热门资讯

我来教大家!福建天天开心辅助器... 我来教大家!福建天天开心辅助器是真的吗,天酷辅助器,详细app(有挂方针)1、超多福利:超高返利,海...
分享一款!点我休闲辅助器,大唐... 分享一款!点我休闲辅助器,大唐麻将开挂软件,详细工具(有挂攻略)1、超多福利:超高返利,海量正版游戏...
一分钟教你!微信小程序指尖四川... 一分钟教你!微信小程序指尖四川辅助器,多乐找刺激脚本,详细方法(有挂详细)1、超多福利:超高返利,海...
免费测试版!四川游戏家园通用辅... 免费测试版!四川游戏家园通用辅助,上品斗地主游戏辅助,详细app(有挂总结)该软件可以轻松地帮助玩家...
实测揭晓!798大菠萝辅助,边... 实测揭晓!798大菠萝辅助,边锋干瞪眼ios辅助,详细软件(有挂方略)边锋干瞪眼ios辅助能透视中分...
9分钟了解!多乐够级辅助软件,... 9分钟了解!多乐够级辅助软件,赣牌圈有挂吗,详细方法(有挂技巧)1、起透看视 多乐够级辅助软件辅助软...
技术分享!微信小程序辅助有哪些... 技术分享!微信小程序辅助有哪些,巴蜀长牌辅助,详细方法(有挂技术)1、微信小程序辅助有哪些公共底牌简...
一分钟快速了解!微信小程序游戏... 一分钟快速了解!微信小程序游戏破解微乐游戏,微乐小程序有脚本吗,详细工具(有挂工具)微信小程序游戏破...
玩家必看教程!小程序能不能开挂... 玩家必看教程!小程序能不能开挂,途游破解版无限钻石,详细神器(有挂教学)1、进入到途游破解版无限钻石...
六分钟了解!福建十三兵修改器,... 六分钟了解!福建十三兵修改器,随意玩免费辅助器有挂吗,详细app(有挂神器)1、进入游戏-大厅左侧-...