使用 DatePicker 小部件更新 ColumnDataSource
Updating ColumnDataSource using a DatePicker widget
我有一个 Bokeh 服务器应用程序,它使用 ColumnDataSource 和两个 DatePicker 小部件来绘制 vbar_stack 图。我想使用 DatePickers 值的范围来过滤绘图上显示的数据。 CDS 由以下数据框创建(索引由日期时间值组成):
Device1 Device2 Device3
2020-10-24 H-m-S 0 1 2
2020-10-25 H-m-S 1 0 1
2020-10-25 H-m-S 2 0 0
2020-10-25 H-m-S 0 2 0
我想按特定日期范围过滤数据,所以我制作了另一个数据框,仅包含我们从 DatePickers 设置的参数中找到的日期范围内的行(对于本例,开始范围 Datepicker 的值是 10/25/2020,所以 10/24 行被过滤掉了):
Device1 Device2 Device3
2020-10-25 H-m-S 1 0 1
2020-10-25 H-m-S 2 0 0
2020-10-25 H-m-S 0 2 0
现在,我想在不影响原始数据帧的情况下将其传递给绘图。为此我想用
Source.data = ColumnDataSource.from_df(data.loc[start:end])
.
然而,剧情只是一片空白,没有更新。
有没有什么具体的方法可以将这些数据传递给该地块已经使用的 CDS?我无法理解具体的格式。或者是否有我应该尝试的过滤此数据的不同方法?
我设法弄明白了——为了将该数据帧中的数据传递到我现有的数据源中,我必须制作一个新的 CDS 并将其更新为原始数据,如下所示:
new_source = ColumnDataSource(selected)
source.data.update(new_source.data)
剧情正在更新中!
我有一个 Bokeh 服务器应用程序,它使用 ColumnDataSource 和两个 DatePicker 小部件来绘制 vbar_stack 图。我想使用 DatePickers 值的范围来过滤绘图上显示的数据。 CDS 由以下数据框创建(索引由日期时间值组成):
Device1 Device2 Device3
2020-10-24 H-m-S 0 1 2
2020-10-25 H-m-S 1 0 1
2020-10-25 H-m-S 2 0 0
2020-10-25 H-m-S 0 2 0
我想按特定日期范围过滤数据,所以我制作了另一个数据框,仅包含我们从 DatePickers 设置的参数中找到的日期范围内的行(对于本例,开始范围 Datepicker 的值是 10/25/2020,所以 10/24 行被过滤掉了):
Device1 Device2 Device3
2020-10-25 H-m-S 1 0 1
2020-10-25 H-m-S 2 0 0
2020-10-25 H-m-S 0 2 0
现在,我想在不影响原始数据帧的情况下将其传递给绘图。为此我想用
Source.data = ColumnDataSource.from_df(data.loc[start:end])
.
然而,剧情只是一片空白,没有更新。 有没有什么具体的方法可以将这些数据传递给该地块已经使用的 CDS?我无法理解具体的格式。或者是否有我应该尝试的过滤此数据的不同方法?
我设法弄明白了——为了将该数据帧中的数据传递到我现有的数据源中,我必须制作一个新的 CDS 并将其更新为原始数据,如下所示:
new_source = ColumnDataSource(selected)
source.data.update(new_source.data)
剧情正在更新中!