Hi I am working on select widget of Bokeh
I have a dataframe with following
df.columns=si,se,cel
si =[A,B,A,B,A,B]
se=[A_1,A_2,A_3,B_1,B_2,B_3,A_1,A_2,A_3,B_1,B_2,B_3]
cel=[AA_1,AA_2,AA_3,AA_4,AA_5,AA_6,BB_1,BB_2,BB_3,BB_4,BB_5,BB_6,AA_1,AA_2,AA_3,AA_4,AA_5,AA_6,BB_1,BB_2,BB_3,BB_4,BB_5,BB_6]
My task is to create 3 SELECT WIDGET
WHEN i chose A
si =[A]
se=[A_1,A_2,A_3]
ce=[AA_1,AA_2,AA_3,AA_4,AA_5,AA_6]
after that
si =[A]
se=[A_1]
ce=[AA_1,AA_4]
and so on
I have to chose from se widget
i am able to create
WHEN i chose A
si =[A]
se=[A_1,A_2,A_3]
but unable to do the rest of the part
following is call back code
def update_plot(attr, old, new):
# If select1 is 'A'
if select1.value == df_lrd[0]:
df_new=df[df['lrd_4']==df_lrd[0]]
# Set select2 options to ['1', '2', '3']
df_s=df_new['sec'].unique().tolist()
select2.options =df_s
df_n_c=[]
for s in range(len(df_s)):
select2.value=df_s[s]
df_n_s=df[df['sec']==df_s[s]]
# df_n_c=df_n_s['cell_name_new'].unique().tolist()
df_n_c.append(list(df_n_s['cell_name_new'].unique()))
select3.options =df_n_c
else:
select1.value == df_lrd[1]
df_new=df[df['lrd_4']==df_lrd[1]]
df_s=df_new['sec'].unique().tolist()
select2.options =df_s
df_n_c=[]
for s in range(len(df_s)):
select2.value=df_s[s]
df_n_s=df[df['sec']==df_s[s]]
# df_n_c=df_n_s['cell_name_new'].unique().tolist()
df_n_c.append(list(df_n_s['cell_name_new'].unique()))
select3.options =df_n_c
# Attach the update_plot callback to the 'value' property of select
select1.on_change('value', update_plot)
select2.on_change('value', update_plot)
select3.on_change('value', update_plot)
layout = widgetbox(select1,select2,select3, p)
curdoc().add_root(layout)