2016-11-11 7 views
1

저는 R에서 plot.ly로 게임하기 시작했습니다. htmlwidgets를 사용하여 html로 직접 그래프를 게시 할 수있는 가능성에 놀랐습니다. 지금까지 동일한 HTML에 여러 위젯을 저장할 수 없습니다. 나는 독립 htmls에서 여러 위젯을 저장하고보다하면 HTML 코드에 손으로 결합,하지만 난R 및 plot.ly를 사용하여 여러 htmlwidgets를 내 html로 저장하는 방법?

간단한 예 R.에서 할 수 있도록하고 싶습니다있다 :

#graph 
graph<- ggplot(df, aes(x = Data, y=tax))+ geom_bar(stat='identity') 
gg <- ggplotly(graph) 

# save as HtmlWigdet 
htmlwidgets::saveWidget(as.widget(gg), "Index.html") 

saveWidgets에 여러 개의 ggplotly 객체를 구문 분석하려면 어떻게해야합니까?

는 (이, 내가 바로 그것을 한 희망 내 첫 번째 질문은 여기에 유래입니다! 감사합니다!)

답변

0

당신이 후있어 유스 케이스 무엇입니까? 이 그래프를 Flexdashboard (R Markdown에서 작성)에 추가하는 것이 좋습니다. Plotly와 결합 된 최근의 고토였습니다.

+0

그게 제가 필요로하는 것입니다. 어쩌면 R에 여러 그래프가있는 웹 페이지를 만들고 재현 해줘야합니다. 감사합니다. 스티브! –

0

이것은 태그 목록을 저장하고 iframe 태그를 반환하기 위해 htmltools 패키지의 비트와 조각에서 수정 한 기능입니다. 을 htmltools::tagList으로 여러 줄로 묶은 다음이 기능을 사용하여 전체 묶음을 저장할 수 있습니다.

save_tags <- function (tags, file, selfcontained = F, libdir = "./lib") 
{ 
    if (is.null(libdir)) { 
    libdir <- paste(tools::file_path_sans_ext(basename(file)), 
        "_files", sep = "") 
    } 
    htmltools::save_html(tags, file = file, libdir = libdir) 
    if (selfcontained) { 
    if (!htmlwidgets:::pandoc_available()) { 
     stop("Saving a widget with selfcontained = TRUE requires pandoc. For details see:\n", 
      "https://github.com/rstudio/rmarkdown/blob/master/PANDOC.md") 
    } 
    htmlwidgets:::pandoc_self_contained_html(file, file) 
    unlink(libdir, recursive = TRUE) 
    } 
    return(htmltools::tags$iframe(src= file, height = "400px", width = "100%", style="border:0;")) 
}