library(ggplot2) library(scales) # for date formats dat <- read.table(header=T, stringsAsFactors=F, text= "Label Date A '7/7/2015 18:17' B '6/24/2015 10:42' C '6/23/2015 18:05' D '6/19/2015 17:35' E '6/16/2015 15:03'") # date-time variable dat$Date <- as.POSIXct(dat$Date, format="%m/%d/%Y %H:%M") # Plot: add label - could just use geom_point if you dont want the labels # Remove the geom_hline if you do not want the horizontal line ggplot(dat, aes(x=Date, y=0, label=Label)) + geom_text(size=5, colour="red") + geom_hline(y=0, alpha=0.5, linetype="dashed") + scale_x_datetime(breaks = date_breaks("2 days"), labels=date_format("%d-%b"))

EDIT Adding lines from labels to the x axis
ggplot(dat, aes(x=Date, xend=Date, y=1, yend=0, label=Label)) + geom_segment()+ geom_text(size=5, colour="red", vjust=0) + ylim(c(0,2)) + scale_x_datetime(breaks = date_breaks("2 days"), labels=date_format("%d-%b")) + theme(axis.text.y = element_blank(), axis.ticks.y=element_blank())

source share