You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言散点图颜色区分:如何为阿根廷与巴西的CO₂排放散点设置不同颜色

解决方法:为不同国家设置不同散点颜色

嗨Lois,你只需要调整ggplot的颜色映射逻辑,就能轻松给阿根廷和巴西的散点设置不同颜色啦!这里有两种实用方案:

方案1:让ggplot自动分配颜色

把colour参数从geom_point里移到ggplot()的aes()中,绑定Country字段。这样ggplot会自动给每个国家分配独特颜色,还会自动生成图例,一步到位:

df %>% 
  dplyr::filter(Country %in% c("Argentina", "Brazil")) %>% 
  filter(Year <= 2019 & Year >= 1950) %>% 
  ggplot(aes(x = Year, y = CO2_annual_tonnes, colour = Country)) +  # 关键改动:将colour与Country绑定
  geom_point(na.rm = TRUE, shape = 20, size = 2) +  # 移除固定的colour="green"设置
  labs(x = "Year", y = "CO2 Emissions (tonnes)")

方案2:自定义指定颜色(比如贴合两国国旗风格)

如果你想手动指定更贴合国家特色的颜色(比如阿根廷用天蓝色,巴西用明黄色),可以加上scale_colour_manual()来精准设置:

df %>% 
  dplyr::filter(Country %in% c("Argentina", "Brazil")) %>% 
  filter(Year <= 2019 & Year >= 1950) %>% 
  ggplot(aes(x = Year, y = CO2_annual_tonnes, colour = Country)) + 
  geom_point(na.rm = TRUE, shape = 20, size = 2) + 
  scale_colour_manual(values = c("Argentina" = "#7CB5EC", "Brazil" = "#F7DF00")) +  # 自定义颜色值
  labs(x = "Year", y = "CO2 Emissions (tonnes)")

小补充:为什么原代码没实现分色?

你之前把colour="green"写在geom_point()里,这是给所有散点设置了固定颜色,完全忽略了Country的分组信息。而把colour放进aes()里,ggplot会识别不同国家的取值,自动为每个组分配独立的视觉属性~

内容的提问来源于stack exchange,提问作者LF123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 22:57:36