2015-08-25 17 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

相關問題