Building a POSIXct Timestamp Series Using ggplot2

I would like to build the load test results. Each line contains the timestamp in seconds and the response time for the request. For instance:

timestamp <- c(1441229131, 1441229132, 1441229133, 1441229134, 1441229135) response.time <- c(22, 48, 48, 59, 52) lt1 <- data.frame(timestamp, response.time) lt1$datetime <- as.POSIXct(lt1$timestamp, origin="1970-01-01", tz="GMT") 

However, when I try to build this, the x-axis shows the older digits, not the correctly formatted date.

 g1 <- ggplot(lt1, aes(datetime, response.time)) g1 <- g1 + geom_point() g1 <- g1 + theme(axis.text.x=element_text(angle=90, hjust=1)) g1 

enter image description here

+6
source share
1 answer

You need to specify what you want on the x axis using the scales library and the scale_x_datetime function:

 library(scales) ggplot(lt1, aes(datetime, response.time)) + geom_point() + theme(axis.text.x = element_text(angle = 90, hjust = 1)) + scale_x_datetime(labels = date_format("%H:%M:%S")) 

enter image description here

see ?scale_x_datetime ?date_format and ?strptime for more information

+9
source

All Articles