R highcharter() глобальный разделитель тысяч?

#r #highcharts #r-highcharter

Вопрос:

Есть ли способ, чтобы на моем графике highcharter был разделитель тысяч по оси y и всплывающая подсказка? Не уверен, есть ли отдельные способы сделать это или есть глобальный вариант. Точка данных всплывающей подсказки отформатирована таким образом, что там, где должна быть запятая, есть пробел. Я погуглил кучу и просто не могу этого понять. Любая помощь будет признательна.

введите описание изображения здесь

код:

     hc <- jobs %>% hchart(
  'line', hcaes(x = new_time, y = employment), color = "#34657F") %>%
  hc_title(
    text = "Virginia", 
    align="left",
    style = list(fontFamily = "Montserrat")) %>%
  hc_subtitle(text= "Employment (in thousands) since March 2018 <br>",
    align="left",
    style = list(fontFamily = "Montserrat")) %>%
  hc_xAxis(title = list(enabled = FALSE)) %>%
  hc_yAxis(title = list(enabled = FALSE)) %>%
  hc_chart(style = list(fontFamily = "Open Sans")) 
hc
 

Спасибо!

Ответ №1:

Для этого вы можете использовать функции API и настроить эту подсказку так, как вам нравится: https://api.highcharts.com/highcharts/tooltip.formatter

Пример:

   hc_tooltip(pointFormat = "<b>{point.name}</b>:<br>",
             formatter = JS("function(){ return point.value * 100   '%'; }"))
 

Здесь вы можете найти статью, которая также может быть полезна, объясняющую, как работать с синтаксисом JavaScript Highcharts в R: https://www.highcharts.com/blog/tutorials/working-with-highcharts-javascript-syntax-in-r/?fbclid=IwAR3RJo3gPURMhJCtcs5o8LqAzOhT8EN957Vijo2njd41YocX-oYv0LPijSA

Комментарии:

1. спасибо — я видел эту документацию. У вас есть какие-нибудь более конкретные примеры, которые могли бы мне помочь? Я не знаю JavaScript, и мне трудно его понять. В идеале, был бы какой-то вариант, при котором вся диаграмма имела бы тысячу разделителей. Если нет, то тогда будет достаточно тысячи разделителей. Я просто не могу понять, как записать аргументы в hc_tooltip, чтобы это произошло.

Ответ №2:

Автор пакета jbkunst дает этот ответ здесь:

 library(highcharter)
library(magrittr)

# set options
hcoptslang <- getOption("highcharter.lang")
hcoptslang$thousandsSep <- ","
options(highcharter.lang = hcoptslang)

# plot with commas
highchart() %>% 
  hc_add_series(data = round(rnorm(100)*10000))
 

введите описание изображения здесь