在 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 创建
我制作了一张按人口颜色编码的地图。数字真的很大,我想显示较小的数字 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 创建