Как отключить научную нотацию в графиках hvPlot?

#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 обозначения для чисел с запятыми?