#python #bokeh #hvplot #holoviz
#python #боке #hvplot #holoviz
Вопрос:
Я только сегодня начал использовать hvPlot как часть Panel.
Мне трудно понять, как отключить научную нотацию на моих графиках. Например, вот простой столбчатый график. Ось и подсказка находятся в научной нотации. Как я могу изменить формат на простой int?
Я показываю это не числовому и нетехническому управлению. Они предпочли бы видеть только базовые целые числа, и я не хочу объяснять им, что такое научная нотация.
Я не смог найти в документах ничего, что могло бы мне помочь: https://hvplot .holoviz.org/user_guide/Customization.html
Я также попытался собрать воедино предложения из документов Bokeh.
Я не могу понять это. Пожалуйста, помогите! Спасибо
Мой простой df:
local_date amount
0 Jan 19 506124.98
1 Feb 19 536687.28
2 Mar 19 652279.31
3 Apr 19 629440.06
4 May 19 703527.00
5 Jun 19 724234.08
6 Jul 19 733413.32
7 Aug 19 758647.44
8 Sep 19 782676.16
9 Oct 19 833674.28
10 Nov 19 864649.74
11 Dec 19 849920.47
12 Jan 20 857732.52
13 Feb 20 927399.50
14 Mar 20 1152440.49
15 Apr 20 1285779.35
16 May 20 1431744.76
17 Jun 20 1351893.95
18 Jul 20 1325507.38
19 Aug 20 1299528.81
И код:
df.hvplot.bar(height=500,width=1000)
Ответ №1:
Вы можете указать форматировщик, который вы хотели бы использовать, в виде тактов по оси x или y, как таковой:
df.hvplot.bar(height=500,width=1000, yformatter='%.0f')
Согласно странице настройки, на которую вы также ссылались, аргументы xformatter
and yformatter
могут принимать «printf formatter , например, ‘%.3f’, и bokeh TickFormatter». Итак, еще один способ сделать это — передать пользовательский formatter
параметр из boken.models.formatters
и настроить его как таковой (примечание: есть много других форматеров, которые вы также можете изучить). Например:
from bokeh.models.formatters import BasicTickFormatter
df.hvplot.bar(height=500,width=1000, yformatter=BasicTickFormatter(use_scientific=False))
Оба должны дать вам такой результат:
Теперь редактирование формата всплывающей подсказки при наведении немного сложнее. Один из способов сделать это — назначить объект figure как пользовательский HoverTool
следующим образом:
from bokeh.models import HoverTool
hover = HoverTool(tooltips=[("amount", "@amount{0,0}"), ("local_date", "@local_date")])
df.hvplot.bar(height=500, width=1000, yformatter='%.0f', use_index=False).opts(tools=[hover])
Вы можете найти более подробную информацию о том, как настроить пользователь HoverTool
здесь.
Комментарии:
1. Какими будут
yformatter
обозначения для чисел с запятыми?