Я хочу получить несколько панелей с боке. У меня есть словарь точек
dots={'0':{1:987,3:3,7:9,0:9},
'1':{1:3,3:4,7:8,0:9},
'2':{3:6,1:4,5:7},
.
.}
Я хочу показать диаграмму каждого ключа в dict точки , поэтому идея состоит в том, чтобы создать виджет выбора, который содержит все ключи точек затем когда я изменяю опцию выбора, гистограмма меняется:
from bokeh.models import HoverTool, ColumnDataSource
from bokeh.io import output_file, show
from bokeh.plotting import figure
from bokeh.layouts import widgetbox
from bokeh.models.widgets import Select
from bokeh.layouts import column
output_file("test.html")
Curr = ColumnDataSource(
data=dots[0]
)
p = figure(plot_width=1500, plot_height=800, title="Frames occurence per rank for voyels",
x_range=str_keys, toolbar_location=None, tooltips=[("Rank", "@keys"),("Occurence","@values")])
p.vbar(x='keys', top='values', width=0.5, source=source)
callback = CustomJS(args=dict(source=Overall, sc=Curr), code="""
var f = Select.value
here I want to put new data based on selected element
sc.change.emit();
""")
select = Select(title="Option:", value="0", options=["1", "2", "3", "4"])
select.js_on_change('value', callback)
layout = column(select, p)
show(layout)
Я хочу преобразовать точки в ColumNDataSource, чтобы использовать его в Custom JS
Overall=ColumnDataSource(dots)
, который мне дает ошибка
expected an element of ColumnData(String, Seq(Any)), got...
Как преобразовать точки в ColumnDataSource и как его проанализировать в JavaScript
Спасибо