R 更改ggplot2中方框图的图例符号
我正在绘制一系列方框图以及顶部的点,但我的颜色图例将所有符号显示为小方框。我已尝试使用override.aes,但问题仍然存在。如果你能告诉我如何使r^2在标题中很好地出现,就可以获得额外的积分R 更改ggplot2中方框图的图例符号,r,ggplot2,legend,R,Ggplot2,Legend,我正在绘制一系列方框图以及顶部的点,但我的颜色图例将所有符号显示为小方框。我已尝试使用override.aes,但问题仍然存在。如果你能告诉我如何使r^2在标题中很好地出现,就可以获得额外的积分 r2df.realtime=subset(r2df,yr>reconyear) r2df.sameyr=subset(r2df,yr==reconyear) ggplot()+geom_boxplot(data=r2df.realtime,aes(as.factor(yr),r2phvrcn,co
r2df.realtime=subset(r2df,yr>reconyear)
r2df.sameyr=subset(r2df,yr==reconyear)
ggplot()+geom_boxplot(data=r2df.realtime,aes(as.factor(yr),r2phvrcn,col='model1'),outlier.shape=3)+
geom_boxplot(data=r2df,aes(x=as.factor(yr),y=r2phv,col='model2'))+
geom_point(data=r2df,aes(x=as.factor(yr),y=r2recon,col='model3'),shape=6)+
geom_point(data=r2df.sameyr,aes(x=as.factor(yr),y=r2phvrcn,col='model4'),shape=6)+
scale_color_manual(values=c('blue','red','green','black'))+
facet_grid(~mth)+
guides(color=guide_legend('Model'),override.aes=list(shape=c(6,6,1,1)))
labs(title=paste('Real-time Ensemble of Cross-Validated Skill Scores (',expression(r^2),')',sep=''))
首先,要从图例中删除箱线图“形状”,应将show\u guide=FALSE
添加到两个geom\u boxplot()
调用中。然后,您可以使用override.aes=
更改图例中的形状,您应该将其放置在guide\u legend()
中(在您的try中,它作为单独的参数放置在函数guides()
中)
其次,在标题调用中,更改函数paste()
和expression()
的顺序
你能不能把你的代码缩减到显示问题所必需的程度?问题在于它的复杂性。。。。但我已经删除了一些轴标签等。还有什么不清楚的?谢谢,但这并不能完全满足我的需要。我仍然希望保持“model1”的箱线图形状。我想为'model2'显示一条直线,为'model3'和'model4'显示三角形<“model1”的代码>show_guide=T导致所有形状都是箱线图。我尝试使用geom_段代替模型2的geom_箱线图,但无法使其工作。图形上的输出是相同的,因为model2只有一个值。
ggplot()+
geom_boxplot(data=r2df.realtime,aes(as.factor(yr),r2phvrcn,col='model1'),
outlier.shape=3,show_guide=FALSE)+
geom_boxplot(data=r2df,aes(x=as.factor(yr),y=r2phv,col='model2'),show_guide=FALSE)+
geom_point(data=r2df,aes(x=as.factor(yr),y=r2recon,col='model3'),shape=6)+
geom_point(data=r2df.sameyr,aes(x=as.factor(yr),y=r2phvrcn,col='model4'),shape=6)+
scale_color_manual(values=c('blue','red','green','black'))+
facet_grid(~mth)+
guides(color=guide_legend('Model',override.aes=list(shape=c(1,1,6,6))))+
labs(title=expression(paste("Real-time Ensemble of Cross-Validated Skill Scores
(",r^2,")",sep='')))