要在Bokeh中实现图表的动态选择和过滤器,可以使用Bokeh的widgets和回调函数来实现。以下是一个简单的示例:
- 首先,创建一个数据源和一个图表:
from bokeh.plotting import figure, show, output_file
from bokeh.models import ColumnDataSource
import pandas as pd
data = {
'x': [1, 2, 3, 4, 5],
'y': [6, 7, 2, 4, 5],
'color': ['red', 'blue', 'green', 'yellow', 'orange']
}
df = pd.DataFrame(data)
source = ColumnDataSource(df)
p = figure()
p.circle('x', 'y', color='color', source=source)
- 创建一个选择器和一个过滤器:
from bokeh.models import Select
select = Select(title='Color', options=['All'] + df['color'].unique().tolist(), value='All')
def update_plot(attrname, old, new):
if select.value == 'All':
new_data = df
else:
new_data = df[df['color'] == select.value]
source.data = ColumnDataSource.from_df(new_data)
select.on_change('value', update_plot)
- 最后,显示图表和选择器:
from bokeh.layouts import column
output_file('filter.html')
layout = column(select, p)
show(layout)
现在,您可以在选择器中选择颜色,并动态过滤图表中显示的数据。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1037933.html