I am trying to make a timeline using ggplot2 library with the following code:
library(ggplot2)
data <- read.csv("Data.csv", header = TRUE, sep = ",")
data$Date <- as.Date(data$Date)
xnow <- Sys.Date()
Names <- unique(data$Name)
i <- 0
plot<-ggplot(data,aes(x=Date,y=Name))+geom_point(aes(colour = factor(Event)))
for(i in 1:length(Names)){
  personname <- Names[i]
  xstart <- data[which(data$Event=="start" & data$Name== personname),]$Date
  xfinal <- data[which(data$Event=="end of engagement" & data$Name== personname),]$Date
  plot<-plot+geom_point(aes(x = Sys.Date(), y = personname), colour = "green", size = 3)
  plot<-plot+geom_segment(aes(x=xstart ,xend=xnow,y = personname, yend = personname))
  plot<-plot+geom_segment(aes(x=xnow ,xend=xfinal,y = personname, yend = personname), linetype = 2)
}
After the first iteration i am getting expected line segment for the name "devanshu". During second iteration the previous line segment for name "devanshu " disappears as soon as first command of iteration is executed. Data:
Name        Date        Event
devanshu    2/2/2016    start
devanshu    3/2/2016    first self assessment
devanshu    6/3/2016    first 360 assessment
devanshu    12/7/2016   end of engagement
Priya       4/2/2016    start
Priya       6/3/2016    first self assessment
Priya       10/4/2016   first 360 assessment
Priya       2/7/2017    end of engagement
The problem is in code or in logic?
 
     
    
 
    