[R] Insert segment only on particular facets in ggplot

Janesh Devkota janesh.devkota at gmail.com
Thu Jan 24 18:46:53 CET 2013


Dear R users,

I am working on a data-set with 3 species. They are apple, orange and
banana.

I want to annotate the facets only on the bottom panel. However, by default
I am getting annotations on all the plots. I was able to get text
annotation only on the desired plot. However, I am confused what I need to
do for the arrows / segments.

Here is my code:

library(ggplot2)
library(grid)

tempobs <- read.csv("temp data share.csv",header=T, sep=",")
p1 <-
ggplot(tempobs,aes(x=time,y=data))+geom_point(data=tempobs,aes(x=time,y=data,colour=group1))+facet_wrap(~id,ncol=1)+theme_bw()
p1 <- p1 + xlab("Julian Day
(2008-2009)")+ylab(expression(Temperature~(degree*C)))+ element_blank()+
theme(
    legend.position="right",
    legend.direction="vertical",
    legend.title = element_blank())
+coord_cartesian(xlim=c(250,550))+coord_cartesian(ylim=c(0,40))+scale_x_continuous(breaks=c(250,300,350,400,450,500,550),labels=c("250","300","350","34","84","134","184"))
p1

### This is how it should look like (though shows annotations for all the
plots)
p +
annotate("text",x=340,y=3,label="2008",size=3)+annotate("segment",x=366,xend=366,y=0,yend=2,size=0.5)+annotate("text",x=390,y=3,label="2009",size=3)+annotate("segment",x=366,xend=310,y=1,yend=1,size=0.5,arrow=arrow(length=unit(0.2,"cm")))+annotate("segment",x=366,xend=420,y=1,yend=1,size=0.5,arrow=arrow(length=unit(0.2,"cm")))


### This is what I did to show text annotation on the bottom panel
ann_text <-
data.frame(x=c(340,390),y=c(3,3),id=c("orange"),label=c("2008","2009"))
p1 <- p1 +
geom_text(data=ann_text,aes(x=x,y=y,label=label,size=3),show_guide=F)
p1


Now, I want to add the arrows and segment based on the overall graph.

My data is attached along.

My output is also attached :

The output shows the annotation I want but it is on all the facets. I want
only on the bottom one.

Thank you so much.

Regards,
Janesh Devkota
-------------- next part --------------
A non-text attachment was scrubbed...
Name: output.png
Type: image/png
Size: 32197 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20130124/f3875cf5/attachment.png>


More information about the R-help mailing list