У меня возникли проблемы с форматированием отображаемых значений инструмента пылесоса. Вот соответствующий код для моего составного графика vbar:
p.vbar_stack(sports, x='dates', width=70000000, color=colors, source=plot_data,
legend=[value(x) for x in sports])
p.add_tools(HoverTool(
tooltips=[
("Duration", "@$name min"), # values of 'name' are in nanoseconds
("Sport", "$name"),
]))
, который приводит к такому выводу:
Но вместо того, чтобы Duration
отображалось в наносекундах, я бы нравится отображать его в формате ЧЧ: ММ или, по крайней мере, в формате с плавающей запятой, например в формате минут или часов.
Я также попытался добавить форматер, как описано в в этом посте , но безуспешно.
Данные из переменной plot_data
выглядят следующим образом:
plot_data = {'Hiking': array([0, 0, 0, 13090000000000,
13417000000000, 0, 14680000000000, 0,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0],
dtype='timedelta64[ns]'),
'dates': [datetime.date(2019, 12, 25), datetime.date(2019, 12, 26), datetime.date(2019, 12, 27),
datetime.date(2019, 12, 28), datetime.date(2019, 12, 29), datetime.date(2019, 12, 30),
datetime.date(2019, 12, 31), datetime.date(2020, 1, 1), datetime.date(2020, 1, 2),
datetime.date(2020, 1, 3), datetime.date(2020, 1, 4), datetime.date(2020, 1, 5),
datetime.date(2020, 1, 6), datetime.date(2020, 1, 7), datetime.date(2020, 1, 8),
datetime.date(2020, 1, 9), datetime.date(2020, 1, 10), datetime.date(2020, 1, 11),
datetime.date(2020, 1, 12), datetime.date(2020, 1, 13), datetime.date(2020, 1, 14),
datetime.date(2020, 1, 15), datetime.date(2020, 1, 16), datetime.date(2020, 1, 17),
datetime.date(2020, 1, 18), datetime.date(2020, 1, 19), datetime.date(2020, 1, 20),
datetime.date(2020, 1, 21), datetime.date(2020, 1, 22), datetime.date(2020, 1, 23),
datetime.date(2020, 1, 24)]}
Так что здесь я могу видеть значения в нано секундах. Боке все еще знает, сколько часов прошло с тех пор, как высота vbar была выровнена по оси Y, которая автоматически указывается в часах.
Так что, я думаю, должно быть возможным каким-то образом преобразовать наносекунды в часы или аналогичный.