我写了一个函数,使用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])
}
一旦我编织,我只看到第一张幻灯片上的最后一个情节,其余幻灯片上没有任何内容。我做错了什么?
答案 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)
}