如何在R中绘制滚动图形,如金融时间序列

时间:2015-08-27 13:54:11

标签: r scroll plot

我想在R中绘制金融时间序列,它们会在一天中不断更新。有时候我每秒钟可以进行多次更新,并且我想绘制随时间变化的时间序列。 此外,我想用额外的信息改进我的图形,我将在同一图表上绘制(不一定是时间序列)。

所以我想知道是否有:

  • R中的一个包来绘制这样的系列,并在我推送新数据后立即自动滚动
  • 或者在R中进行位blit的方法,只需更新我的图表,
  • 或使用像grid这样的包或其他任何可以绘制必要内容(至少是线和点)的方法,并帮助快速滚动数据以获得平滑的渲染。

我想要比TCL / TK解决方案更多 modern ,如解释here

2 个答案:

答案 0 :(得分:1)

我们正在使用shiny和一个定时器变量执行此操作,该变量每 n 秒刷新一次。

R本身并不是为了持续更新。 (默认)图形设备是静态的(因此您不能轻易地“附加一个点”),并且只有一个事件循环。

您可以使用外部程序执行此操作 - 我已经使用了我为此编写的自定义Qt应用程序以及(真棒,低估)kst实时自定义数据处理程序可视化程序。

答案 1 :(得分:0)

我没有处理财务数据,但如果数据文件本身就在当天更新,那么最简单的解决方案就是:

k <- 0
while ( k<=3600 ) {
    foo <- read.table("data.txt")
    plot(foo[,1], foo[,2])
    Sys.sleep(60) # seconds
    k <- k+1
}

这将每60秒重绘一次。您可以为数据设置网址,而不是&#34; data.txt&#34;也。要滚动&#34;,您可以使用xlim参数plot()来播放。