Невозможно построить точку данных, используя Bokeh и Python - показывает пустой макет - PullRequest
0 голосов
/ 12 марта 2020

У меня есть кадр данных, который имеет следующие значения. Я рассчитываю построить их на интерактивном графике с помощью 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' или просмотреть их значения по отдельности.
Ниже приведен код, который у меня есть, но он дает мне только изображение ниже - без любые значения. Empty visualization from Bokeh

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))

Я не могу понять, почему точки данных не отображаются.

...