Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to draw arrow in ggplot2 with annotation

Tags:

r

ggplot2

I am creating a ggplot chart where I need to put some annotation. I can do that but the text is not really pointing exactly the date that I like annotate. Is there a way to draw an arrow to axix where I like create the annotation.

I have this:

   ggplot(df, aes(Date, CPU)) + geom_point() + 
       annotate("text", x = as.POSIXct(c("2013-03-11 23:00:00")), 
                y = 90, label = "problem 1", angle=90, size=5, 
                colour='black', face="bold")
like image 230
user1471980 Avatar asked Jun 10 '13 20:06

user1471980


1 Answers

just so anyone might have the same question or query, here is what I did:

library(ggplot2)
library(grid)

ggplot(df, aes(Date, CPU)) + geom_point() + 
       annotate("text", x = as.POSIXct(c("2013-03-11 23:00:00")), 
                y = 90, label = "problem 1", angle=90, size=5, 
                colour='black', face="bold")
             +    geom_segment(aes(x = as.POSIXct(c("2013-03-11 09:00:00")), y = -30, xend = as.POSIXct(c("2013-03-11 09:00:00")), yend = 0), colour='#CC00FF', size=1,arrow = arrow(length = unit(0.5, "cm")))
like image 91
user1471980 Avatar answered Oct 12 '22 12:10

user1471980