簡體   English   中英

從ggplot2中的boxplot更改圖例符號

[英]change legend symbols from boxplot in ggplot2

我正在繪制一系列箱形圖以及頂部的點,但是我的顏色圖例將所有符號顯示為小方框。 我試過使用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=''))

使用dput(r2df)鏈接到文本文件

首先,要從圖例中刪除箱形圖“形狀”,應將show_guide=FALSE添加到兩個geom_boxplot()調用中。 然后使用override.aes=更改圖例中的形狀,應將其放置在guide_legend() (嘗試時,將其作為單獨的參數放置在功能guides() )。

其次,在您的標題調用中,函數paste()expression()更改順序。

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='')))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM