在Bokeh应用中如何处理日期和时间范围选择

   2024-10-15 7160
核心提示:在Bokeh应用中处理日期和时间范围选择通常需要使用DateRangeSlider或DateRangeInput等工具。以下是一个简单的示例代码,展示如何

在Bokeh应用中处理日期和时间范围选择通常需要使用DateRangeSliderDateRangeInput等工具。以下是一个简单的示例代码,展示如何在Bokeh应用中处理日期和时间范围选择:

from bokeh.layouts import columnfrom bokeh.models import ColumnDataSourcefrom bokeh.plotting import figure, curdocfrom bokeh.models.widgets import DateRangeSliderfrom bokeh.io import output_file, show# 创建一个示例数据集data = {    'date': pd.date_range(start='1/1/2020', periods=100),    'value': np.random.randint(0, 100, 100)}source = ColumnDataSource(data)# 创建一个日期范围选择器date_range_slider = DateRangeSlider(title="Date Range", start=data['date'][0], end=data['date'][-1], value=(data['date'][20], data['date'][80]))# 创建一个图表p = figure(x_axis_type="datetime", plot_height=350)p.line(x='date', y='value', source=source)# 定义一个回调函数,根据日期范围选择器的值更新数据源def update_data(attr, old, new):    start_date = pd.Timestamp(date_range_slider.value[0])    end_date = pd.Timestamp(date_range_slider.value[1])    new_data = {        'date': data['date'][(data['date'] >= start_date) & (data['date'] <= end_date)],        'value': data['value'][(data['date'] >= start_date) & (data['date'] <= end_date)]    }    source.data = new_datadate_range_slider.on_change('value', update_data)# 将图表和日期范围选择器组合在一起layout = column(date_range_slider, p)curdoc().add_root(layout)

在这个示例中,我们首先创建了一个包含日期和数值的示例数据集,并使用DateRangeSlider创建了一个日期范围选择器。然后创建了一个图表,并定义了一个回调函数update_data,根据日期范围选择器的值更新数据源。最后,将图表和日期范围选择器放在一个布局中,并将其添加到Bokeh应用中。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号