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

Jas*_*ter 2 r ggplot2 tidyverse

这个较旧的 stackoverflow 问题解释了如何将 y 轴更改K为数千而不是,000. 它还解释了如何在 y 轴标签上放置美元符号scales::dollar。我的麻烦在于将 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
Run Code Online (Sandbox Code Playgroud)

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

Mak*_*212 5

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

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