dygraphs列出了Shiny中的htmltools

时间:2018-01-17 10:46:16

标签: r shiny dygraphs r-dygraphs

this问题开始,我想知道如何在闪亮的情况下显示dy_graph列表对象。下面的代码片段创建了它,但我不是html的专家,阅读htmltools手册没有帮助。基本上我需要改变这部分htmltools::browsable(htmltools::tagList(dy_graph))以便在Shiny中进行渲染。

# create the time series
temperature <- ts(frequency = 12, start = c(1980, 1),
              data = c(7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 
                       25.2, 26.5, 23.3, 18.3, 13.9, 9.6))
rainfall <- ts(frequency = 12, start = c(1980, 1),
           data = c(49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 
                    135.6, 148.5, 216.4, 194.1, 95.6, 54.4))

# create a list of dygraphs objects
library(dygraphs)
library(htmltools)
dy_graph <- list(
  dygraphs::dygraph(temperature, group="temp_rain", main="temperature"),
  dygraphs::dygraph(rainfall, group="temp_rain", main="rainfall")
)  # end list

# render the dygraphs objects using htmltools
htmltools::browsable(htmltools::tagList(dy_graph))
编辑:请看@SBista的回答。 mucho blank space!

1 个答案:

答案 0 :(得分:3)

您可以使用uiOutputrenderUI执行此操作。你可以这样做:

library(shiny)
library(dygraphs)

ui <- fluidPage(

  uiOutput("dygraph")
)


server <- function(input, output)
{

  output$dygraph <- renderUI({
    # create the time series
    temperature <- ts(frequency = 12, start = c(1980, 1),
                      data = c(7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 
                               25.2, 26.5, 23.3, 18.3, 13.9, 9.6))
    rainfall <- ts(frequency = 12, start = c(1980, 1),
                   data = c(49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 
                            135.6, 148.5, 216.4, 194.1, 95.6, 54.4))

    dy_graph <- list(
      dygraphs::dygraph(temperature, group="temp_rain", main="temperature"),
      dygraphs::dygraph(rainfall, group="temp_rain", main="rainfall")
    )  

    tagList(dy_graph)
  })

}

shinyApp(ui = ui, server = server)