Я хочу использовать ползунок, чтобы изменить цифры, но это бесполезно.Я думаю, возможно, проблема в части обратного вызова.но я понятия не имею, как это сделать.
month = [1,2,3,1,2,3,1,2,3,1,2,3]
tilts = [1,1,1,2,2,2,3,3,3,4,4,4]
data = [0.1,0.2,0.3,1,2,3,11,12,13,21,22,24]
df = pd.DataFrame({'month':month,'tilt':tilts,'data'=data})
df_default = df[df['tilt']==1]
source = ColumnDataSource({
'x': df_default.month.tolist(),
'y': df_default.data.tolist(),
})
plot = figure(plot_width=400, plot_height=400)
plot.line('x', 'y', source=source, line_width=3, line_alpha=0.6)
callback = CustomJS(args=dict(source=source), code="""
var data = source.data;
var tilt = slider.value;
var x = data['x']
var y = data['y']
'x' = df[df['tilt']==tilt].month.tolist();
'y' = df[df['tilt']==tilt].data;
plot.line(x='x', y='y', source=source, line_width=3,
line_alpha=0.6,
);
source.change.emit();
""")
slider = Slider(start=1, end=4, step=1, value=1, title='tilt')
slider.js_on_change('value',callback)
layout = row(
plot,
column(slider)
)
output_file("slider.html", title="slider.py example")
show(layout)
это может показать, но, по-видимому, обратный вызов не работает