Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何根据Select widget中的选定值更新Bokeh中的图形?_Python_Bokeh - Fatal编程技术网

Python 如何根据Select widget中的选定值更新Bokeh中的图形?

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

我正在尝试使用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, 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']]