繁体   English   中英

在R?中以实时直方图格式设置日期时间轴。

[英]Format date-time axis in real time histogram in R?

我正在尝试在实时直方图中修复未格式化的日期时间轴。 我使用的是R中的时间/日期实时图的改编示例。

 n=5000
 df=data.frame(time=Sys.time()+1:n,y=runif(n))
 window=1000
 for(i in 1:(n-window))
 {
flush.console()
df1 <-df[i:(i+window),]
h= hist(as.POSIXct(df1$time), breaks="mins",  
yaxt = "n", col="gray", main=NULL, freq = TRUE, xlab= "", 
plot=FALSE, format = "%d %H:%M")
plot(h, breaks="mins", col="gray", main=NULL, freq = TRUE, 
xlab= "", format = "%d %H:%M")
Sys.sleep(0.01)
 }

另外,我确实尝试使用以下代码成功了一半。 但是可悲的是,如果我减少Sys.sleep,x轴会像闪光灯一样显示日期时间,而日期时间轴会消失,在我的第一个示例中,该轴看起来不会像未格式化的日期时间轴那样好。

n=5000
df=data.frame(time=Sys.time()+1:n,y=runif(n))
window=1000
for(i in 1:(n-window))
{
flush.console()
df1 <-df[i:(i+window),]
x_at <-pretty(df1$time)
x_labels <-format(pretty(df1$time),"%d %H:%M")
 hist(df1$time,df1$y,type='l',breaks="mins", xaxt='n')
axis.POSIXct(side=1,at=x_at,labels=x_labels)
Sys.sleep(0.01)
}

可能是另一种更好地查看x轴的方法吗?

问题是, hist()知道当你传递一个POSIXt对象有关的时间轴,但plot()不,当你传递一个柱状图对象一样h 因此,只需一步即可完成所有操作,而不是两步:

 n=5000
 df=data.frame(time=Sys.time()+1:n,y=runif(n))
 window=1000
 for(i in 1:(n-window))
 {
    flush.console()
    df1 <-df[i:(i+window),]
    hist(as.POSIXct(df1$time), breaks="mins",  
      yaxt = "n", col="gray", main=NULL, freq = TRUE, xlab= "", 
      format = "%d %H:%M")
    Sys.sleep(0.01)
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM