如何使用语言环境在scale_y_continuous中获取“德语”缩写?

问题描述 投票:0回答:1

如何将语言环境更改为“de”,以便“billion”缩写为“Mrd”。百万作为“Mil”?


df_example <- tibble::tibble(
  
  year = c(2016:2023),
  tn = c(10:17),
  cost2 = c(10:17),
  cost = c(100, 1000, 10000, 100000, 1000000, 10000000, 20000000, 10000000000)
  
)



df_example |>
  
  ggplot2::ggplot(aes(y= cost, x= year)) +
  
  geom_bar(stat = "identity") +
  
  scale_y_continuous(labels = scales::label_number(scale_cut = cut_long_scale()))

我尝试的是在

locale = "de"
命令中的多个位置设置
scale_y_continuous()

r ggplot2 scale
1个回答
2
投票

TBMK 无法根据区域设置更改

cut_long_scale
的行为,因为使用的符号是硬编码的。但是您使用复制和粘贴来创建德语版本:

library(ggplot2)

cut_long_scale_de <- function (space = FALSE) {
  out <- c(0, "Tsd." = 1000, "Mil." = 1e+06, "Mrd." = 1e+9, "Bil." = 1e+12)
  if (space) {
    names(out) <- paste0(" ", names(out))
  }
  out
}


df_example |>
  ggplot(aes(y = cost, x = year)) +
  geom_bar(stat = "identity") +
  scale_y_continuous(
    labels = scales::label_number(scale_cut = cut_long_scale_de(space = TRUE))
  )

© www.soinside.com 2019 - 2024. All rights reserved.