我想从 R 创建大于显示区域的图表。即几千个数据点(如股票图表)。我希望能够左右滚动图表。是否有任何已知的功能或软件包可以做到这一点?
我在这里和网上都有各种各样的搜索,但我找不到任何关于 R 的东西,而不必自己去编写一些相当严肃的代码。
不寻找除此之外的任何花哨的东西。
tkexamp
这是使用TeachingDemos 包中的函数的一种方法:
library(TeachingDemos)
my.x <- seq(1,10000)
my.y <- 5 + my.x/3000 + sin(my.x/1000) + rnorm(10000,0,.5)
myfun <- function(x,y,start=1, span=100,
xlab=deparse(substitute(x)),
ylab=deparse(substitute(y)),...) {
w <- seq(start, length.out=span)
w <- w[ w<= length(x) ]
plot(x[w],y[w], main=paste(start,'to',max(w)),
ylim=range(y), xlab=xlab, ylab=ylab, ... )
}
mylist <- list( start=list('slider', from=1, to=10000, init=1),
span=list('slider', from=10, to=10000,
init=100, resolution=10) )
tkexamp( myfun(my.x,my.y,type='b'), mylist )
一个“花哨”但简单的解决方案是使用 R Shiny 的 quantmod 和 Highstocks。
请参阅Stefan Wilhelm 的“在 R Shiny 应用程序中使用 Highstocks”以及Github 上的完整代码。
快速预览滚动的工作原理。
Highstocks真的很花哨。:-)。