I am trying to plot different types of plots (line plot and bar charts) beneath one another, they all have the same axis:
c1 <- ggplot(data, aes(date, TotalMutObs)) + stat_smooth(se = FALSE) +
geom_point() +
opts(axis.title.x = theme_blank()) +
ylab("Cumulative number of new mutations")
c2 <- ggplot(data, aes(date, distance)) + stat_smooth(se = FALSE) +
geom_point() +
opts(axis.title.x = theme_blank()) +
ylab("Cumulative mean pairwise distance")
c3 <- ggplot(data, aes(x = date, y = NbOfHorses)) +
geom_bar(stat = "identity") +
opts(axis.title.x = theme_blank()) +
ylab("Number of horses sampled")
grid.arrange(c1, c2,c3)
However, the dates on the x-axis are not lining up for the different plots.
Here is some data to try it out:
date<-c("2003-03-13","2003-03-25","2003-03-26","2003-03-27","2003-03-28","2003-03-31","2003-04-01","2003-04-02","2003-04-04","2003-04-08","2003-04-09","2003-04-10","2003-04-11","2003-04-14","2003-04-15","2003-04-17","2003-04-19","2003-04-21","2003-04-22","2003-04-28","2003-05-08");
NbOfHorses<-c("1","2","1","3","4","5","4","3","3","3","3","4","2","4","1","2","4","1","2","1","2");
TotalMutObs<-c("20","30","58","72","140","165","204","230","250","286","302","327","346","388","393","414","443","444","462","467","485");
distance<-c("0.000693202","0.00073544","0.000855432","0.000506876","0.000720193","0.000708047","0.000835468","0.000812401","0.000803149","0.000839117","0.000842048","0.000856393","0.000879973","0.000962382","0.000990666","0.001104861","0.001137515","0.001143838","0.00121874","0.001213737","0.001201379");
data<-as.data.frame(cbind(date,NbOfHorses,TotalMutObs,distance));
Cheers,
Joseph
The way to solve this problem is to work within ggplot2 and get creative about stacking copies of your data and then sending subsets to each geom that you need.