Исходные данные обновляются при изменении выпадающего меню с помощью функции (filter_source) и могут наблюдать за выводом в терминале.Но график никогда не обновляется.
import pandas as pd
from bokeh.io import curdoc
from bokeh.models.widgets import TextInput, Button, Paragraph
from bokeh.layouts import layout
from bokeh.plotting import figure
from bokeh.models import ColumnDataSource
from bokeh.models.widgets import Select
from bokeh.layouts import layout
import math
df = pd.read_csv('/Users/austinejose/Desktop/My Files/Work/Newcastle Service Station/2018/Feb_Totals.csv')
df1 = df[df['Department']=='Hot Food']
names = [str(x) for x in df1['Product Name']]
source = ColumnDataSource(data = df1)
p = figure(x_range = names, plot_height = 500, width = 1000, title = "Sales By Departments",
toolbar_location = "below")
p.vbar(x = "Product Name", top = "Retail Value", width = 0.9, source = source, color = 'deepskyblue')
p.xgrid.grid_line_color = "white"
p.y_range.start = 0
p.xaxis.major_label_orientation = math.pi/4
p.xaxis.axis_label = "Departments"
p.yaxis.axis_label = "Retail Value"
p.axis.minor_tick_in = -3
p.axis.minor_tick_out = 6
p.outline_line_color = "black"
def filter_source(attr, old, new):
new_source = df[df['Department']==select.value]
source.data = new_source
names = [str(x) for x in new_source['Product Name']]
menus = df['Department'].unique().tolist()
select = Select(title = 'Choose Department', options = menus, value = 'Bill Pay')
select.on_change('value', filter_source)
lay_out=layout([[select]])
curdoc().add_root(p)
curdoc().add_root(lay_out)
Пока нет сообщений об ошибках.