为同趋势分组点添加连线:ggplot2绘图实现方法问询
解决方法
要实现每个type_survey对应4条独立连线,核心是让ggplot明确按type_survey和TINAN14_imp1的组合分组,这样同组内的点才会被正确连接。你可以通过在aes中添加分组参数来实现:
修改后的绘图代码如下:
ggplot(newdata1, aes(x = age, y = phat, color = type_survey, group = interaction(type_survey, TINAN14_imp1))) + geom_point(size=1) + geom_line() + scale_color_manual(values=c("red","blue"))
如果仅需要连线图层使用该分组逻辑,也可以把分组参数单独放在geom_line里:
ggplot(newdata1, aes(x = age, y = phat, color = type_survey)) + geom_point(size=1) + geom_line(aes(group = interaction(type_survey, TINAN14_imp1))) + scale_color_manual(values=c("red","blue"))
原理说明
interaction(type_survey, TINAN14_imp1)会将两个变量的组合生成唯一标识(比如SwiSCI.1.0、SwiSCI.3.5),ggplot会基于这些标识为每组单独绘制连线,避免同一type_survey下的所有点被错误连接。
内容的提问来源于stack exchange,提问作者user3483060
相关产品推荐
相关产品推荐

