在 ggplot 中显示以百万为单位的图例

Display a legend in millions in ggplot

我制作了一张按人口颜色编码的地图。数字真的很大,我想显示较小的数字 1,2,3(以百万为单位)而不是 1,000,000 等

我找到了如何为轴执行此操作的解决方案,但我已经清除了轴并需要为图例执行此操作。

有人可以帮我找到与下面的图例代码等效的代码吗?

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

使用 gapminder 数据集作为示例数据,可以这样实现:

library(ggplot2)
library(dplyr)

gapminder::gapminder %>% 
  filter(year == 2007) %>% 
  ggplot(aes(gdpPercap, pop, color = pop)) +
  geom_point() + 
  scale_y_continuous(labels = scales::unit_format(unit = "M", scale = 1e-6)) +
  scale_color_continuous(labels = scales::unit_format(unit = "M", scale = 1e-6))

reprex package (v0.3.0)

于 2020-05-25 创建