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
相关产品推荐
相关产品推荐

