2016-08-17 3 views
0

for 루프를 사용하여 여러 슬라이드에서 rChart를 만드는 함수를 작성했습니다. 그러나이 함수를 호출해도 여러 차트가 만들어지지 않습니다. 나는 마지막 차트 만 얻는다. 나는 니트되면rChart, for 루프

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

내가 데이터를 공유 할 수 있지만'''data.frame (HairEyeColor)'''내가 노력'''복귀와 같은 구조로되어 다음과 같이 나에게 올바른 결과를 얻었다 코드는 ("chart1 ', cdn = TRUE, include_assets = TRUE)'''이 솔루션은 rChart가 for 루프에서 어떻게 작동하는지 이해하는 데 있다고 생각합니다. – krthkskmr

답변

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) 
}