web-dev-qa-db-ja.com

ggplot2を使用したPOSIXctタイムスタンプシリーズのプロット

負荷テストの結果をプロットしたいと思います。各行には、秒単位のタイムスタンプと要求の応答時間が含まれています。例えば:

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")

ただし、これをプロットしようとすると、x軸には代わりに奇妙な数値が表示されますod適切にフォーマットされた日付。

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

10
oneself

ライブラリscalesと関数scale_x_datetimeを使用して、x軸に必要なものを指定する必要があります。

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

詳細については、?scale_x_datetime?date_format、および?strptimeを参照してください。

17
jeremycg