我想使用滑块,以便用户可以控制在hbar图表上显示多少数据。我想默认显示10行,但是由于我的DataFrame包含200行以上,因此我希望用户修改此选择。
这是我当前拥有的代码,但是我在回调中苦苦挣扎。我要离开this StackOverflow post。
df_popularity = df[['original_title', 'popularity']].sort_values(by='popularity', ascending=True).reset_index(drop=True)
source = ColumnDataSource(data=df_popularity)
p = figure(
title='Most popular horror movies between 1990 and 2000',
x_axis_label='Popularity',
y_axis_label='Movie title',
plot_width=800,
plot_height=600,
y_range=df_popularity['original_title'][0:10] # start off with top 10
)
p.hbar(
y='original_title',
right='popularity',
left=0,
height=0.5,
color='orange',
fill_alpha=0.5,
source=source
)
slider = Slider(start=1, end=len(df_popularity), value=1, step=1, title="Rows")
callback = CustomJS(args=dict(source=source, slider=slider),
code="""
const data = source.data;
source.change.emit();
""")
slider.js_on_change('value', callback)
layout = row(
p,
column(slider),
)
show(layout)