在 R 中使用库 ggplot2 中的 scale_size 时出现问题

Problem using scale_size in R from library ggplot2

提问人:slow_learner 提问时间:11/10/2022 更新时间:11/10/2022 访问量:73

问:

我正在与图书馆 gapminder 合作,并生成了以下图表来显示寿命、大陆和 GDP 之间的关系

library(gapminder)
library(dplyr)
library(ggplot2)
df <-gapminder

ggplot(db1 %>% filter(year==2007), aes(x=pop, y=gdpPercap, color=continent))+
  geom_point()+scale_size(df$lifeExp)

但是,生成的点大小都相同,我不知道为什么。有人可以帮我吗?

R ggplot2 绘图 几何

评论


答:

1赞 jared_mamrot 11/10/2022 #1

您需要先添加大小美感,然后才能使用 ,例如scale_size()

library(gapminder)
library(dplyr)
library(ggplot2)

gapminder %>%
  filter(year == 2007) %>%
  ggplot(aes(x = pop, y = gdpPercap, color = continent, size = lifeExp)) +
  geom_point() +
  scale_size(name = "Life Expectancy (years)")

您无法真正看到不同大小的点,但如果您对 x 轴进行记录变换,它会更清晰:


gapminder %>%
  filter(year == 2007) %>%
  ggplot(aes(x = pop, y = gdpPercap, color = continent, size = lifeExp)) +
  geom_point() +
  scale_size(name = "Life Expectancy (years)") +
  scale_x_log10()

reprex 包 (v2.0.1) 于 2022-11-10 创建

这是否回答了您的问题,还是我误解了某些内容?

评论

0赞 slow_learner 11/10/2022
谢谢你的回答。我有没有办法删除预期寿命图例?
0赞 jared_mamrot 11/10/2022
您可以替换该行以完全删除预期寿命图例guides(size = "none") +scale_size(name = "Life Expectancy (years)") +