簡體   English   中英

如何在散景懸停格式化程序上設置自定義日期時間模式?

[英]How can I set custom datetime pattern on Bokeh hover formatter?

我正在嘗試使用散景線圖繪制一些與時間有關的值。 當我嘗試添加一個懸停來顯示圖的某個點的具體值時,我的問題就出現了。

我想顯示一個value, time數據(它工作正常),但我認為yyyy-mm-dd不符合我的目的,所以我想重新定義該模式以添加小時和分鍾。

我的代碼是這樣的(你可以在這里下載筆記本):

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)

輸出是這樣的:

陰謀

所以我的問題如下:

誰能解釋我如何修改懸停時的日期時間格式模式?

您可以通過將%H:%M添加到@date來以小時和分鍾為單位添加時間,如下所示:

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

DatetimeTickFormatter文檔中描述了比例。

供應: bokeh version 2.4.1

  • 1):只需將“@”放在formatters
hover = HoverTool(tooltips=[('value',   '@value'), ('date', '@date{%F}')],
                  formatters={'@date': 'datetime'})

在此處輸入圖片說明

- - - - - - 線 - - - - - - - - -

hover = HoverTool(
    tooltips="""
            <div>
                <h3>@date{%F}</h3>
                <div>
                    <strong>value: </strong>
                    <span style="font-size: 30px; font-weight: bold; color: #696;">@value</span>
                </div>
            </div>
            """,
    formatters={'@date': 'datetime'},
    mode='vline'
)

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM