Python 如何根据Select widget中的选定值更新Bokeh中的图形?
我正在尝试使用Bokeh.plotting显示图形。我想做的是获取select小部件的值,然后显示与所选选项相关的数据的图形 我在这方面有个问题: 泡沫测向['test\u number']==x\u select\u test\u number.value 我想使用update_proj_var_2函数获取小部件中的选定值。 有人能帮我吗Python 如何根据Select widget中的选定值更新Bokeh中的图形?,python,bokeh,Python,Bokeh,我正在尝试使用Bokeh.plotting显示图形。我想做的是获取select小部件的值,然后显示与所选选项相关的数据的图形 我在这方面有个问题: 泡沫测向['test\u number']==x\u select\u test\u number.value 我想使用update_proj_var_2函数获取小部件中的选定值。 有人能帮我吗 from bokeh.io import curdoc, show from bokeh.layouts import Column, row, Space
from bokeh.io import curdoc, show
from bokeh.layouts import Column, row, Spacer, grid, widgetbox, layout
from bokeh.models import DataTable, TableColumn, Div, Button, Tabs, Panel, Dropdown, ColumnDataSource,MultiSelect, Select, DatePicker, Legend, OpenURL, TapTool, CheckboxButtonGroup, CheckboxGroup, RadioButtonGroup, Plot, Range1d, Text, TextInput, TextAreaInput
from bokeh.models.widgets import Slider, TextInput
from bokeh.plotting import figure
import datetime
import dataiku
from functools import partial
import pandas as pd
from bokeh.models import CustomJS, Dropdown
foam_dataset = dataiku.Dataset("foam_data")
foam_df = foam_dataset.get_dataframe()
compo_dataset = dataiku.Dataset("compo_data")
compo_df = compo_dataset.get_dataframe()
source = ColumnDataSource(foam_df)
list_test_number = [str(s) for s in foam_df['test_number'].unique()]
list_product = [str(s) for s in foam_df['product'].unique()]
list_date = [str(s) for s in foam_df['date'].unique()]
welcome_div = Div(text=("<h1>HPC web app</h1>"
"<br><br><br>"))
# Define a title div for experiment filters
project_title_div = Div(text="<h3>experiment filters</h3>")
x_select_test_number = Select(
title="test_number", options = sorted(list_test_number)
)
TestDiv = Div()
def update_proj_var_2(attr, old, new):
TestDiv.text = "old={},new={},valeurWidget={}".format(old,new,attr)
list_test_number = [str(s) for s in foam_df['test_number'].unique() if s not in ["None"] ]
x_select_test_number = Select(
title="test_number", options = sorted(list_test_number)
)
x_select_test_number.on_change('value',update_proj_var_2)
p = figure(title="Simple line example", x_axis_label='x', y_axis_label='y')
foam_data=foam_df.loc[foam_df['test_number']==x_select_test_number.value,['foam','soil']]
x=foam_data.foam
y=foam_data.soil
p.line(x, y, legend_label="Temp.", line_width=2)
spacer = Spacer(disabled=True, width=10)
intro_layout = row( TestDiv,TestDiv2, spacer,
Column(project_title_div,x_select_test_number,
row(p)))
intro_tab = Panel(child=intro_layout, title="Welcome")
tabs = Tabs(tabs=[intro_tab])
curdoc().add_root(tabs)
curdoc().title = "Test HPC Web Application"
试着将foam_df['test_number']==x_select_test_number.value放入括号中,如:
foam_data=foam_df.loc[(foam_df['test_number']==x_select_test_number.value),['foam','soil']]