2015-08-25 16 views
-1

我在我的选择框小部件中有3个数据源。我试图在我从应用程序的选择框中选择不同的数据源时更新图表。当我更改数据源时,该图不会更新。我需要使用reactive命令吗?每个选择框小部件输出的不同数据源

shinyUI(fluidPage(

    # Application title 
    titlePanel("Temperature Data"), 
    sidebarLayout(
    sidebarPanel(
     selectInput("dataSelection", label = "Choose a Data Set", choices = c("Dataset 1", "Dataset 2")), 
     selectInput("component1", label = "Choose a Chart", 
        choices = c("Watts"), 
        selected = "Watts")), 

    mainPanel(
     dygraphOutput("TempRise") 

    ) 
    ) 




#server.r 
    shinyServer(function(input, output) { 

     output$TempRise <- renderDygraph({ 

     dataSource <- switch(input$dataSelection, 
        "Dataset 1" = Data1, 
        "Dataset 2" = Data2) 

     TempData <- switch(input$component1, 
         "Watts" = dataSource$Watts) 
    dygraph(TempData, main = "Temperature Data") %>% 
      dyRangeSelector() 

    }) 
    }) 
+0

什么是'dyRangeSelector()'?并显示'Data1'和'Data2'的外观 –

回答

1

下面是与R一起提供的两个数据集的示例,请注意它们是时间序列。欲了解更多信息有关dygraphs你可以参考dygraphs for R - Using in Shiny Applications

rm(list = ls()) 
library(shiny) 
library(dygraphs) 

ui <- fluidPage(
    titlePanel("Sample Data"), 
    sidebarPanel(selectInput("dataSelection", label = "Choose a Data Set", choices = c("Dataset 1", "Dataset 2"))), 
    mainPanel(dygraphOutput("TempRise")) 
) 

server <- function(input, output) { 

    # Note that the data is a timeseries, make sure to convert into a time series object 
    dataSource <- reactive({ 
    switch(input$dataSelection,"Dataset 1" = LakeHuron,"Dataset 2" = AirPassengers) 
    }) 

    output$TempRise <- renderDygraph({ dygraph(dataSource(), main = "Sample Data")}) 
} 

shinyApp(ui = ui, server = server) 

enter image description here

相关问题