Bokeh(Python):在悬停工具提示中格式化日期时间

问题描述 投票:1回答:1

我正在尝试将工具提示格式化为“月年”格式,但似乎不起作用?

Chart

这是我的代码:

import numpy as np # linear algebra
import pandas as pd 
from bokeh.plotting import figure, show, output_file, output_notebook
from bokeh.palettes import Spectral11, colorblind, Inferno, BuGn, brewer
from bokeh.models import HoverTool, value, LabelSet, Legend, ColumnDataSource,LinearColorMapper,BasicTicker, PrintfTickFormatter, ColorBar
import datetime
from bokeh.models import DatetimeTickFormatter

TOOLS = "hover,save,pan,box_zoom,reset,wheel_zoom,tap"
p = figure(title="Total Workplace Incidents", x_axis_type="datetime", y_axis_type="linear", plot_height = 400,
           tools = TOOLS, plot_width = 800)

p.xaxis.axis_label = 'Month/Year'
p.yaxis.axis_label = 'Number of Incidents'

p.line(g['Date'], g['ISMS\nReport#'],line_color="blue", line_width = 3)


p.xaxis.formatter=DatetimeTickFormatter(
        days= ["%b %y"],
        months=["%b %y"],
        years=["%b %y"]
    )


p.select_one(HoverTool).tooltips = [
    ('Month/Year', '@x {%b %y}'),
    ('Number of Incidents', '@y'),
]


output_file("test.html", title="Line Chart")
show(p)

请多多指教吗?谢谢。

python tooltip bokeh
1个回答
0
投票

看起来您只需要两件事:

  • 删除字段名@x和格式{%b, %y}之间的空格
  • 添加表明x是日期时间的格式化程序
p.select_one(HoverTool).tooltips = [
    ('Month/Year', '@x{%b %y}'),
    ('Number of Incidents', '@y'),
]

p.select_one(HoverTool).formatters = {'x':'datetime'}
© www.soinside.com 2019 - 2024. All rights reserved.