У меня есть кадр данных pandas, столбцы которого я хочу показать в виде линий на графике с использованием сервера Bokeh. Кроме того, я хотел бы иметь ползунок для смещения одной из строк относительно другой.
Моя проблема заключается в функции обновления при изменении значения ползунка. Пробовал код из ползунков-пример боке, но не работает.
Вот пример
import pandas as pd
from bokeh.io import vform
from bokeh.plotting import Figure, output_file, show
from bokeh.models import CustomJS, ColumnDataSource, Slider
df = pd.DataFrame([[1,2,3],[3,4,5]])
df = df.transpose()
myindex = list(df.index.values)
mysource = ColumnDataSource(df)
plot = Figure(plot_width=400, plot_height=400)
for i in range(len(mysource.column_names) - 1):
name = mysource.column_names[i]
plot.line(x = myindex, y = str(name), source = mysource)
offset = Slider(title="offset", value=0.0, start=-1.0, end=1.0, step=1)
def update_data(attrname, old, new):
# Get the current slider values
a = offset.value
temp = df[1].shift(a)
#to finish#
offset.on_change('value', update_data)
layout = vform(offset, plot)
show(layout)
Внутри функции update_data
мне нужно обновить mysource
, но я не могу понять, как это сделать. Может ли кто-нибудь указать мне в правильном направлении?