4
可能重複:
Annotating text on individual facet in ggplot2添加註釋(段/箭頭)ggplot
我對工作的一個數據集有3種。他們是蘋果,橙子和香蕉。
我只想在底部面板上註釋小平面。但是,默認情況下,我會在所有地塊上獲得註釋。我只能在所需的圖上獲得文本註釋。不過,我很困惑我需要爲箭頭/細分做些什麼。
這裏是我的代碼:
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
現在,我想補充基於整體圖形箭頭和段。
我的數據可以在https://www.dropbox.com/s/dfcmqrslskwdh80/temp%20data%20share.csv
找到我的輸出是
這是我僅有的文字註釋了。但是對於分段註釋,我總是有錯誤。您可以注意到在底部面板上添加了2008年和2009年的文字標籤。
輸出顯示我想要的註解,但它是在所有的方面。我只想在最下面的一個。
非常感謝。
問候, Jdbaba
你好我可以問你一個問題嗎?上圖中又增加了兩個系列。兩條線是表面和底部,因此我除了觀察外還有兩個傳說。我怎樣才能將兩個傳說一起對齊?兩個傳說之間有一些空間。我刪除了圖例標題。我試圖把它們放在頂部,並顯示在兩行上。如果你能告訴我,我怎麼能把這兩個傳說放在同一排上,那會很棒。 –