【发布时间】:2020-03-23 19:57:19
【问题描述】:
我可以对在 Bokeh 中工作的日期时间列进行过滤。
以下代码/情节运行良好:
# imports
import pandas as pd
from bokeh.io import output_notebook, show
from bokeh.plotting import figure
from bokeh.models import ColumnDataSource, CDSView, GroupFilter
# dataframe and columndatasource
df = pd.DataFrame({'Date': list(pd.date_range(start='1/1/2018', end='1/03/2018')) * 3,
'Value': list(range(1, 10))})
source = ColumnDataSource(df)
剧情:
p = figure()
p.line(x='Date', y='Value', source=source)
show(p)
但是,我只想绘制日期为1/3/2018 的行而不创建新的ColumnDataSource。因此我使用GroupFilter 和CDSView。
last_date = source.data['Date'].max() # select 1/3/2018
date_filter = GroupFilter(column_name='Date', group=str(last_date)) # create filter
view = CDSView(source=source, filters=[date_filter]) # create view
p = figure()
p.line(x='Date', y='Value', source=source, view=view) # use view
show(p)
但是这个图没有显示数据?有什么建议如何过滤Date 列?
【问题讨论】:
标签: python-3.x pandas data-visualization bokeh