散景调整使用滑块在hbar中显示的数据量

时间:2020-06-04 22:53:07

标签: javascript python jupyter-notebook bokeh

我想使用滑块,以便用户可以控制在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)

0 个答案:

没有答案