使用ggplot2覆盖具有两个不同Y轴的图

时间:2016-11-16 20:28:54

标签: r

我正在尝试将两个不同的图(一个是一个箱形图和一个一个线图)组合在一起,它们具有相同的x轴(以年(yr)为单位的日期)但不同​​的y轴(方框图是叉长(fl)和线图是收获(har))。这些数据属于不同的数据帧。我正在使用的代码的简单版本是:

p1 <- ggplot(biojay, aes(yr, fl))+
geom_boxplot(colour="black", fill="dark gray")+  
theme_bw()+   
theme(panel.grid.major=element_blank())+
scale_y_continuous(limits=c(300,900), breaks=breaks1)+       
xlab("Year")+                                              
ylab("Fork Length (mm)")+                                  
theme(axis.title=element_text(size=14))+      
theme(axis.text=element_text(size=12))+     
theme(axis.text.x=element_text(angle=45, hjust=1)) 

p2 <-  ggplot(har, aes(yr2, harjay))+
geom_line(linetype = "solid", color="red", size=1.25)+
theme_bw()+  
theme(panel.grid.major=element_blank())+ 
scale_y_continuous(position="right") +
xlab("Year")+                                        
ylab("Harvest (kg)")+
theme(axis.title=element_text(size=14))+       
theme(axis.text=element_text(size=12))+       
theme(axis.text.x=element_text(angle=45, hjust=1))

我尝试使用我在网上找到的多种方法将这些方法结合起来,但似乎没有什么对我有用。任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:0)

p1 = qplot(1:10,1)
p2 = qplot(1:10,1:10) + theme_minimal() 

print(p1)
print(p2, newpage=FALSE)