在R中使用$和K作为千元的y轴标签

时间:2019-06-25 16:52:57

标签: r ggplot2 tidyverse

This older stackoverflow question解释了如何将y轴更改为K,而不是,000。它还说明了如何使用scales::dollar在y轴标签上放置美元符号。我的麻烦是将R中的两个想法结合起来:

library(tidyverse)
library(scales)
set.seed(200)
df <- tibble(Date = seq(as.Date("2018/1/1"), by = "month", length.out = 12),
             Values = c(runif(12, 200000, 800000)))

ggplot(df, aes(Date, Values)) + 
  geom_line() + 
  scale_y_continuous(label = unit_format(unit = "K", scale = 1e-3, sep = "")) + 
  # scale_y_continuous(labels = dollar) +  # line 10
  NULL

我可以使用上面第9行第10行,但不能同时使用。如何将第9行和第10行都合并到一行中?例如,我想将115,000转移到$115K中。

1 个答案:

答案 0 :(得分:2)

您可以使用scales::dollar_format来实现目标:

ggplot(df, aes(Date, Values)) + 
  geom_line() + 
  scale_y_continuous(labels = scales::dollar_format(scale = .001, suffix = "K"))