R中的highcharter()全局千位分隔符是什么?

3
有没有办法让我的highcharter图表在y轴和工具提示上有千位分隔符?不确定是否有不同的方法来实现这一点,或者是否有全局选项。工具提示数据点已经格式化,因此逗号应该出现的地方有一个空格。我已经谷歌了很多次,但就是想不通。感谢任何帮助。

enter image description here

代码:

    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

谢谢!

3个回答

3

包作者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))

enter image description here


在花费了数天的时间来尝试回答这个问题后,终于找到了答案。谢谢!我该如何在数字前面添加货币符号? - Jimmy Cloutier

2

您需要设置全局选项(如Rich Pauloo答案中所述)

library(highcharter)
library(magrittr)

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

然后将坐标轴标签设置如下:

# plot with commas and axis
highchart() %>% 
  hc_add_series(data = round(rnorm(100)*10000))%>%
  hc_yAxis(title = list(text = "YourAxis"), #new part for axis labelling
           labels=list(format="{value:,f}")) #new part for axis separator

那将同时给您提示工具和坐标轴: A screenshot from R showing that now axis and tooltip have separators

我刚刚发现,您可以通过在“format ="{point.y: ,f .2f}"”中添加“.#f”来格式化小数位。 - T-T

0

您可以使用API函数来自定义此工具提示:

https://api.highcharts.com/highcharts/tooltip.formatter

例如:

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

在这里,您可以找到一篇文章,它可能会有所帮助,解释如何在R中使用Highcharts JavaScript语法:https://www.highcharts.com/blog/tutorials/working-with-highcharts-javascript-syntax-in-r/?fbclid=IwAR3RJo3gPURMhJCtcs5o8LqAzOhT8EN957Vijo2njd41YocX-oYv0LPijSA


谢谢 - 我已经看过这份文档了。你有更具体的例子可以帮助我吗?我不懂JavaScript,很难理解。理想情况下,整个图表都应该有千位分隔符的选项。如果没有,那么千位分隔符就足够了。我只是无法弄清楚如何编写hc_tooltip中的参数才能实现这一点。 - kmm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接