如何在Bokeh悬停格式化程序上设置自定义日期时间模式?

时间:2018-08-21 08:13:18

标签: python plot hover data-visualization bokeh

我正在尝试使用带有Bokeh的线图来绘制一些与时间有关的值。当我尝试添加一个悬停以在绘图的某个点显示具体值时,我的问题就来了。

我想显示一个value, time数据(可以正常工作),但是我认为yyyy-mm-dd并不精确,因此我想重新定义该模式以增加小时和分钟。

我的代码就是这样(您可以作为笔记本here下载)

from datetime import datetime, timedelta

from bokeh.plotting import figure, show
from bokeh.models import HoverTool

import pandas as pd
import numpy as np


today = datetime.today()

date_range = pd.date_range(today, today + timedelta(days=1),
                           freq=timedelta(minutes=15))
values = np.random.randint(-10, 10, size=len(date_range)).cumsum()
data = pd.DataFrame({'date': date_range, 'value': values})


hover = HoverTool(tooltips=[('value',   '@value'), ('date', '@date{%F}')],
                  formatters={'date': 'datetime'})

plt = figure(x_axis_type='datetime', tools=[hover])

plt.line(x='date', y='value', source=data)

show(plt)

输出如下:

Plot

所以我的问题如下:

有人可以解释一下如何在悬停时修改日期时间格式吗?

1 个答案:

答案 0 :(得分:2)

您可以通过将-C -c添加到%H:%M来以小时和分钟为单位添加时间,如下所示:

@date

DatetimeTickFormatter文档中描述了秤。