rChart,for循环

时间:2016-08-17 23:11:23

标签: r highcharts rcharts ioslides

我写了一个函数,使用for循环在多个幻灯片上创建一个rChart。 但是,调用该函数不会创建多个图表。我只得到最后一张图表。这就是我的功能:

s1Rev <- function(total1){
a <- rCharts:::Highcharts$new()
a$chart(type = "column")
a$xAxis(categories = total1$sources)
a$yAxis(title = list(text = "Revenue"))
a$data(total1)
a$print('chart1', cdn=TRUE, include_assets=TRUE)
}

for(e in 1:length(impEvents)){
  cat("\n\n## Total Revenue: ", eventName[e], "##\n")
  s1Rev(impEvents[e])
}

一旦我编织,我只看到第一张幻灯片上的最后一个情节,其余幻灯片上没有任何内容。我做错了什么?

1 个答案:

答案 0 :(得分:1)

我解决了这个问题。我只需要在循环中更改图表的名称(我不知道参数的名称)。得到正确结果的代码如下:

s1Rev <- function(total1){
    a <- rCharts:::Highcharts$new()
    a$chart(type = "column")
    a$xAxis(categories = total1$sources)
    a$yAxis(title = list(text = "Revenue"))
    a$data(total1)
return(a)
}

for(e in 1:length(impEvents)){
  cat("\n\n## Total Revenue: ", eventName[e], "##\n")
  p1 <- s1Rev(impEvents[e])
  p1$print(paste0('chart',e), cdn=TRUE, include_assets=TRUE)
}