【问题标题】:Problem using scale_size in R from library ggplot2从库 ggplot2 在 R 中使用 scale_size 的问题
【发布时间】:2022-11-10 17:53:48
【问题描述】:

我正在与图书馆 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 plot geom


    【解决方案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 package (v2.0.1) 于 2022 年 11 月 10 日创建

    这是否回答了您的问题,还是我误解了什么?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-06
      • 1970-01-01
      • 1970-01-01
      • 2015-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多