Highcharts rCharts-高速图表

Highcharts rCharts-高速图表,highcharts,rcharts,Highcharts,Rcharts,关于绘制图表速度的一般问题 给定以下代码 rm(list = ls()) require(rCharts) set.seed(2) time_stamp<-seq(from=as.POSIXct("2014-05-20 01:00",tz=""),to=as.POSIXct("2014-05-22 20:00",tz=""),by="1 min") Data1<-abs(rnorm(length(time_stamp))*50) Data2<-rnorm(length(tim

关于绘制图表速度的一般问题

给定以下代码

rm(list = ls())
require(rCharts)

set.seed(2)
time_stamp<-seq(from=as.POSIXct("2014-05-20 01:00",tz=""),to=as.POSIXct("2014-05-22 20:00",tz=""),by="1 min")
Data1<-abs(rnorm(length(time_stamp))*50)
Data2<-rnorm(length(time_stamp))
time<-as.numeric(time_stamp)*1000

CombData=data.frame(time,Data1,Data2)
CombData$Data1=round(CombData$Data1,2);CombData$Data2=round(CombData$Data2,2);
HCGraph <- Highcharts$new()

HCGraph$yAxis(list(list(title = list(text = 'Data1')),
                   list(title = list(text = 'Data2'),
                        opposite =TRUE)))

HCGraph$series(data = toJSONArray2(CombData[,c('time','Data1')], json = F, names = F),enableMouseTracking=FALSE,shadow=FALSE,name = "Data1",type = "line")
HCGraph$series(data = toJSONArray2(CombData[,c('time','Data2')], json = F, names = F),enableMouseTracking=FALSE,shadow=FALSE,name = "Data2",type = "line",yAxis=1)
HCGraph$xAxis(type = "datetime"); HCGraph$chart(zoomType = "x")
HCGraph$plotOptions(column=list(animation=FALSE),shadow=FALSE,line=list(marker=list(enabled=FALSE)));
HCGraph
生成2个系列的highcharts图形,每个系列的长度为4021个点,并立即渲染

但是,如果我将时间跨度增加到10天8341点,生成的绘图可能需要几分钟

我知道可以对highcharts进行一些修改以获得更好的性能, , 但是,从R/rCharts的角度来看,我是否可以进行任何更改以提高性能


干杯

您是否尝试禁用标记/阴影/动画?如果您不使用rChart,而是使用本机highcharts,那么场景如何?感谢您的回复Sebastian。是的,我以前尝试过这些参数,代码已经更新,但是,它们并不能显著提高渲染速度。我倾向于使用rcharts是为了避免深入研究highcharts js,因此我希望R本身可以优化一些东西。经过进一步的研究,我认为最好的方法是尝试使用“延迟加载”功能。具体来说,钩住这里定义的afterSetExtremes事件。希望这可以直接用R实现,如下所述: