【发布时间】:2017-12-10 10:07:27
【问题描述】:
我想更改高级地图中图例的标签格式。我的值从 0 到 2000 亿不等。第一步,即千(k)和百万(M)都可以,但我需要更改十亿“G”的缩写。
我不是很擅长 javascript,因此我不知道如何在 hc_legend() 函数中编写格式命令以将“G”更改为“B”,而将“k”保留为千和“M” " 代表百万。
这是一个小例子,可以看出 highcharter 使用“G”表示数十亿。
library(highcharter)
df = data.frame(
Country = c("AT","BE","CH","DE","FR","IT"),
variable = rnorm(n = 6, mean = 120000000000, sd = 20000000000)
)
hcmap(map = "custom/europe",
data = df, joinBy = c("hc-a2", "Country"), value = "variable", name = "variable",
dataLabels = list(enabled = TRUE, format = '{point.name}'),
borderColor = "#FAFAFA", borderWidth = 0.1,
tooltip = list(valueDecimals = 0, valuePrefix = "€", valueSuffix = "")) %>%
hc_mapNavigation(enabled = TRUE)
#hc_legend(enabled = TRUE, format = "{value}B") #basically a placeholder, as I dont know how to proceed
【问题讨论】:
-
看起来您应该将标签器传递给
hc_legend以创建人类可读的数字。 -
我不知道我是否理解正确,但这些数字完全可读。 Highcharter(或highcharts)在某些步骤中修剪数字并将“k”、“M”和“G”放在它们后面已经做得很好了。我只是想把“G”改成“B”。
-
要更改比例后缀,您可以操作
lang.numericSymbols- api.highcharts.com/highcharts/lang.numericSymbols。但是,不确定如何将其传递给 highcharter。 -
@wergeld 喜欢这样吗? stackoverflow.com/questions/25266392/…
-
@RomanLuštrik,也许吧。我没有时间尽可能多地使用 R。
标签: javascript r highcharts r-highcharter