0

我编写了一个函数来使用 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])
}

编织后,我只看到第一张幻灯片上的最后一个情节,而在其余幻灯片上什么也看不到。我究竟做错了什么?

4

1 回答 1

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)
}
于 2016-08-18T18:33:47.980 回答