有光泽的 htmltools 的 dygraphs 列表
dygraphs list with htmltools in Shiny
摘自 问题,我想知道如何在 shiny 中显示 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 的回答。
您可以使用 uiOutput
和 renderUI
来做到这一点。你可以这样做:
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)
摘自 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 的回答。
您可以使用 uiOutput
和 renderUI
来做到这一点。你可以这样做:
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)