Я создаю панель управления Bokeh с данными страны, чтобы динамически изменять график для линейного графика.
Пользователь может выбрать несколько стран с помощью CheckboxGroup.
Я могу динамически создавать подмножества исходной таблицы по мере выбора / отмены выбора стран.
После того, как я подмножество, я объединяю исходную таблицу для графика, где возникает проблема. (сгруппировать все страны по дате)
Я понимаю, что нам нужно напрямую использовать source=src
, но мне нужно агрегировать каждый раз, когда я обновляю новый источник.
Есть ли какие-нибудь предложения о том, как я могу подойти к этой проблеме?
Спасибо!
def make_plot(src):
temp = pd.DataFrame.from_dict(src.data)
agg_date_full = ColumnDataSource(temp.groupby('date').sum().reset_index())
fig1.line('date', 'y',source=agg_date_full)
def update(attr, old, new):
country_to_plot = [country_checkbox.labels[i] for i in country_checkbox.active]
new_src = make_dataset(country_to_plot)
src.data.update(new_src.data)
country_checkbox = CheckboxGroup(labels=country_labels, active= list(range(0,len(country_labels))))
country_checkbox.on_change('active', update)
initial_countries = [country_checkbox.labels[i] for i in country_checkbox.active]
src = make_dataset(initial_countries)
p = make_plot(src)