ggplot2/R中如何为分组内的特定变量设置不同颜色以突出显示?
你只需要在原有代码基础上新增一个单独筛选目标患者的geom_line图层即可,原有配色逻辑完全保留:
ggplot(df, aes(x= Timepoint, y = Test)) + # 原有绘制所有患者的图层,保留默认彩虹配色 geom_line(aes(group=patientID, color = PatientID)) + # 新增图层:仅绘制4005号患者,设置为黑色、线宽更粗实现突出效果 geom_line(data = ~subset(.x, PatientID == 4005), color = "black", linewidth = 1.2) + facet_grid(~ DoseGrpDay0_D22) + theme_bw()
如果你使用的是较早版本的ggplot2,不支持上述匿名函数子集写法,可以提前准备目标患者数据:
# 提前筛选4005号患者的数据集 patient_4005 <- subset(df, PatientID == 4005) ggplot(df, aes(x= Timepoint, y = Test)) + geom_line(aes(group=patientID, color = PatientID)) + geom_line(data = patient_4005, color = "black", linewidth = 1.2) + facet_grid(~ DoseGrpDay0_D22) + theme_bw()
新增的图层会叠加在原有所有线条的上方,黑色粗线会直接覆盖4005号患者原本的彩虹色线条,既能实现突出效果,也完全不会影响其他患者的配色方案。
内容的提问来源于stack exchange,提问作者Gabriel
相关产品推荐
相关产品推荐

