2017-07-06 31 views
0

我想在更高的地圖上更改圖例的標籤格式。我的價值從0到2000億不等。第一步,即千(k)和百萬(M)都很好,但我需要更改十億字「G」的縮寫。Highcharter/Highmap:更改數十億的圖例標籤格式

我不是很擅長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 
+0

看起來您應該將一個貼標籤傳遞給'hc_legend'來創建可讀的數字。 –

+0

我不知道我是否正確,但數字是完全可讀的。 Highcharter(或highcharts)在某些步驟中修剪數字並在其後面放置「k」,「M」和「G」已經做得很好。我只是想把「G」改成「B」。 –

+2

要更改縮放後綴,您可以操作'lang.numericSymbols' - http://api.highcharts.com/highcharts/lang.numericSymbols。但是,不知道你是如何將它傳遞給高手的。 – wergeld

回答

1

改變 'G' 到 'B' 必須做如下:

hcoptslang <- getOption("highcharter.lang") 
hcoptslang$numericSymbols <-c("k", "M", "B" ,"T", "P" ,"E") 
options(highcharter.lang = hcoptslang) 

通過您更改數字小符號爲highcharter。 PS:感謝@wergeld和@RomanLuštrik的指導。

+0

工程就像一個魅力!謝謝! –