require(plyr) require(ggplot2) require(scales) require(grid) require(gtable) grid.newpage() p1<-ggplot(data=fidrep, aes(x=Date, weight=Percent, colour=Pop, fill=Pop))+ geom_bar(binwidth=10, position=position_dodge())+ theme(axis.text.x=element_text(angle=90, size=10, vjust=0.5))+ scale_colour_manual(values=c("blue","purple","orange"),labels=c("Dabob","Fidalgo","Oyster Bay"))+ scale_fill_manual(values=c("blue","purple","orange"),labels=c("Dabob","Fidalgo","Oyster Bay"))+ labs(x="Sample Date", y="Percent Brooding",title="Percent Brooding vs. Temperature")+ theme_bw()+ theme(legend.justification=c(0,1), legend.position=c(0,1), plot.title=element_text(size=30,vjust=1), axis.text.x=element_text(size=20), axis.text.y=element_text(size=20), axis.title.x=element_text(size=20), axis.title.y=element_text(size=20)) fidy1v3<-read.csv("TempData/fidy1v3.csv") fidy1v3$Date<-as.Date(fidy1v3$Date,"%m/%d/%Y") fidmintemp<-ddply(fidy1v3,.(Date),summarise,min_temp=min(Temp,na.rm=T)) fidmintemprep<-subset(fidmintemp, Date>="2014-05-02"& Date<="2014-08-08") p2<-ggplot()+geom_line(data=manmintemprep, aes(x=Date, y=min_temp), color="red")+ geom_hline(yintercept=12.5, color="forestgreen")+ theme_bw() %+replace% theme(panel.background = element_rect(fill = NA), panel.grid.major.x=element_blank(), panel.grid.minor.x=element_blank(), panel.grid.major.y=element_blank(), panel.grid.minor.y=element_blank(), axis.text.y=element_text(size=20,color="red"), axis.title.y=element_text(size=20)) g1<-ggplot_gtable(ggplot_build(p1)) g2<-ggplot_gtable(ggplot_build(p2)) pp<-c(subset(g1$layout,name=="panel",se=t:r)) g<-gtable_add_grob(g1, g2$grobs[[which(g2$layout$name=="panel")]],pp$t,pp$l,pp$b,pp$l) ia<-which(g2$layout$name=="axis-l") ga <- g2$grobs[[ia]] ax <- ga$children[[2]] ax$widths <- rev(ax$widths) ax$grobs <- rev(ax$grobs) ax$grobs[[1]]$x <- ax$grobs[[1]]$x - unit(1, "npc") + unit(0.15, "cm") g <- gtable_add_cols(g, g2$widths[g2$layout[ia, ]$l], length(g$widths) - 1) g <- gtable_add_grob(g, ax, pp$t, length(g$widths) - 1, pp$b) grid.draw(g)