R 更改ggplot2中方框图的图例符号

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

我正在绘制一系列方框图以及顶部的点,但我的颜色图例将所有符号显示为小方框。我已尝试使用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,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='')))