[英]Plot Time on Y-Axis using R
嘗試這個:
plot(df,yaxt="n",las=2)
axis(2,1:length(levels(df$time)),labels=levels(df$time),las=2,cex.axis=.55)
可能有更好的方法來執行此操作,但這似乎可行:
gettime <- function(x) {Sys.sleep(2); as.POSIXct(Sys.time(), origin = "1970-01-01")}
times <- sapply(1:10, gettime)
times
# [1] 1468856662 1468856664 1468856666 1468856668 1468856670 1468856672
# [7] 1468856674 1468856676 1468856678 1468856680
df <- data.frame(date = as.POSIXct(times, origin = "1970-01-01"),
time = as.POSIXct(times, origin = "1970-01-01"))
par(mar = c(6, 6, 2, 2))
plot(df$time ~ df$date, axes = FALSE, ylab = "", xlab = "")
axis(side = 2, at = axTicks(side = 2),
labels = format(as.POSIXct(axTicks(side = 2),
origin = "1970-01-01"),
"%H:%M:%S"),
las = 2)
axis(side = 1, at = axTicks(side = 1),
labels = format(as.POSIXct(axTicks(side = 1),
origin = "1970-01-01"),
"%y-%m-%d"),
las = 2)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.