R中的时间/日期实时图

时间:2017-04-15 21:03:07

标签: r plot ggplot2 rstudio real-time

我想根据时间实时绘制一些数据。

我使用的代码与此非常相似,取自我在此处读到的另一个答案:

$ionicScrollDelegate.getScrollPosition().top;

我想在图表的x轴上绘制时间。所以我这样做了:

$ionicScrollDelegate.$getByHandle("scrollHandler").getScrollPosition().top;

但我得到错误,你们中有人有任何帮助/建议

非常感谢,

修改

我想让它以固定的频率运行900次。我可以在for循环之前计算时间值吗? e.g。

df $ DateTime [1] = Sys.time()

有关(;;) df $ DateTime [i] = df $ DateTime [i] + X秒
结束循环

有关(;;) ////模拟真人密谋? 结束循环

1 个答案:

答案 0 :(得分:2)

要绘制时间,您需要一个时间对象。我修改了你的代码,实际上有一个时间向量。此外,我更改了索引向量的方式以摆脱xlim

n=1000
df=data.frame(time=Sys.time()+1:n,y=runif(n))
window=100
for(i in 1:(n-window))
{
    flush.console()
    df1 <-df[i:(i+window),]
    plot(df1$time,df1$y,type='l')
    Sys.sleep(0.1)
}

编辑添加小时数的解决方案。你可以增加几个小时但似乎会减慢这个过程。正如您所看到的,我添加了axis.POSIXct调用,但我不得不将Sys.Sleep减速到0.5,您几乎看不到x轴:

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