使用下拉菜单和回调更新Bokeh上的交互式图形



我是Python的新手,但一直在接受DataCamp培训。我希望使用下拉菜单来更新图表。

下拉菜单将从数据帧中选择一列,并在x轴上绘制该数据。

这就是我目前所拥有的:


df1 = pd.read_csv('C:/PStuff/dataA.txt')
source = ColumnDataSource(df1)
plot = figure()
plot.circle(x = 'col1', y = 'col5', source=source)
menu = Select(options=['col1', 'col2', 'col3'], value='col1', title='Distribution')
def callback(attr, old, new):
if menu.value == 'col2':  x ='col2'
elif menu.value == 'col3': x ='col3'
else:                       x ='col1'
menu.on_change('value', callback)
layout = column(menu, plot)
curdoc().add_root(layout)

我目前在运行它或运行Bokeh发球时没有收到任何错误,目前根本没有出现任何错误!如有任何帮助,我们将不胜感激。

plot.circle((参数中的x仅存在于该调用中。因此,您的回调只是为一个x变量分配一个值,该变量不起任何作用。

您可以更新源本身。

# set the source to specific columns from df1 initially
source = ColumnDataSoruce(data={'x':df1['col1'],'y':df1['col5']}) 
plot.circle(x = 'x', y = 'y', source=source)
menu = Select(options=['col1', 'col2', 'col3'], value='col1', title='Distribution')
def callback(attr, old, new):
source.data.update({'x':df1[new]})

相关内容

  • 没有找到相关文章

最新更新