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

ggplot2中geom_line按分类变量着色出现多条折线问题

问题原因

默认状态下,ggplot的geom_line会自动将颜色映射的分类变量categ作为分组依据,为每个类别的观测单独绘制折线,因此会出现三条断开的折线,和预期效果不符。

解决方案

在aes()中显式添加group = 1参数,强制所有观测归为同一组绘制连续折线,同时保留color的映射关系即可实现按categ分段着色的效果。

修改后代码

library(tidyverse)

tbl <- tibble(time = 1:100,
              speed = 20 + runif(100),
              categ = factor(rbinom(n = 100, size = 3, prob = 0.1)))


ggplot(data = tbl,
       aes(x = time,
           y = speed,
           group = 1, # 强制所有观测属于同一组绘制连续折线
           color = categ)) + 
  geom_line(size = 1) + 
  theme_bw()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 01:45:04