使用ggplot的geom_line能否在同一网格中展示两个变量的图例?
问题原因
你触发报错的核心原因是aes中的group参数设置错误:当前仅将SOA设为分组变量,会导致每个SOA分组下同时包含exp1和exp2两组数据,ggplot尝试把两个实验不同颜色的数据点连为同一条线,自然触发「同一条线的颜色、线型等属性必须一致」的报错。要把两个实验的数据放在同一画布,仅需将分组变量设为SOA和Exp的组合即可。
修正后代码
allDraw %>% ggplot(aes(x=PrimeType, y=mRT, shape=SOA, linetype=SOA, group=interaction(SOA, Exp), color=Exp))+ geom_line(size=0.5,alpha=0.6) + scale_colour_manual(values = c('black', 'blue'))+ scale_linetype_manual(values=c("solid", "twodash"))+ labs(y='RT', title= 'RT on Prime Types & SOA')+ ylim(c(600,900))+ geom_point(size = 2)+ geom_errorbar(aes(ymin = mRT - SE, ymax = mRT + SE), width = .1, size=0.6, alpha=0.6)
运行上述代码即可得到和参考效果图一致的、两个实验数据合并在同一网格的图表,无需分面。
内容的提问来源于stack exchange,提问作者Leah
相关产品推荐
相关产品推荐

