如何在 ggplot2 中显示 geom_text 为数百万

How to display geom_text as millions in ggplot2

通常要在 ggplot2 中显示不同比例的轴值,我们可以使用以下内容:

p + scale_y_continuous(labels = scales::unit_format(unit = "M", scale = 1e-6))

如何对 geom_text 标签进行同样的操作?使用逗号,我们将执行以下操作

p + geom_text(aes(y = y_val, x = x_val, label = scales::comma(value))) 

是否有类似于逗号的函数表示百万(例如:100M)?

也许您可以在 geom_text 中以类似的方式使用 paste 来完成您的要求?

library(ggplot2)
library(dplyr)


example_data <- tibble(
  foo = c(1000000, 2000000, 3000000, 4000000, 5500000),
  bar = c(1000000, 2000000, 3000000, 4000000, 5500000)
)

ggplot(example_data, aes(x = foo, y = bar)) +
  geom_point() +
  geom_text(aes(label = paste(round(foo / 1e6, 1), "M")))

reprex package (v0.3.0)

于 2021-01-29 创建