У меня есть кадр данных, который имеет следующие значения. Я рассчитываю построить их на интерактивном графике с помощью Bokeh.
locs = ['a', 'b', 'c']
prime_vals = [1000, 54, 457]
sub_vals = [0, 112, 34]
my_dict = {'loc' : locs, 'prime' : prime_vals, 'sub' : sub_vals}
df = pd.DataFrame(my_dict)
df
* Я хочу, чтобы 'prime' и 'sub' были двумя разными флажками в визуализации. Можно выбрать оба из них (простое и вспомогательное) и просмотреть значения относительно 'lo c' или просмотреть их значения по отдельности.
Ниже приведен код, который у меня есть, но он дает мне только изображение ниже - без любые значения.
p = figure(plot_width=1200, plot_height = 800)
aline = p.line(df["locs"], df['prime_vals'], line_width=2,
color=Viridis4[0])
bline = p.line(df["locs"], df['sub_vals'], line_width=2,
color=Viridis4[3])
p.yaxis.axis_label = 'x - axis label '
p.xaxis.axis_label = 'y - axis label'
legend = Legend(items=[("Prime", [aline]),("Sub", [bline])], location=(0, 450))
t = Title()
t.text = 'Prime and sub roles over various offices'
p.title = t
p.add_layout(legend, 'left')
checkboxes = CheckboxGroup(labels=list(['Prime', 'Sub']), active=[0, 1])
callback = CustomJS(code="""aline.visible = false; // aline and etc.. are
bline.visible = false; // passed in from args
// cb_obj is injected in thanks to the callback
if (cb_obj.active.includes(0)){aline.visible = true;}
// 0 index box is aline
if (cb_obj.active.includes(1)){bline.visible = true;} """,
args={'aline': aline, 'bline': bline})
checkboxes.js_on_click(callback)
output_file('some_name.html')
show(row(p, checkboxes))
Я не могу понять, почему точки данных не отображаются.