Изменить график на основе значения selectinput в R - PullRequest
0 голосов
/ 21 мая 2019

Я разделил окно на две части. На обеих частях у меня есть выпадающий список и график солнечных лучей. Теперь я хочу изменить солнечные вспышки с выпадающими. У меня есть dataframes, такие как data_pie и data_pie2, и это должно быть изменено от выпадающего значения. Я знаю, что должен использовать реактивные функции, но я не знаю, как я могу изменить кадры данных.

server.R

  output$sunburst <- renderSunburst({sunburst(data_pie, count =  TRUE, legend = list(w = 150,h = 50, s = 15 , t = 1 ), breadcrumb = list(w = 150,h = 75, s = 15 , t = 10))})

  output$sunburst2 <- renderSunburst({sunburst(data_pie2, count =  TRUE, legend = list(w = 150,h = 50, s = 15 , t = 1 ), breadcrumb = list(w = 150,h = 75, s = 15 , t = 10))})

ui.R

tabItem(tabName = "sunbrust",
        h2("Sunbrust Visualization"),
        fluidRow(

          box(
            selectInput("input_pie_links", choices = c("Model 1", "Model 2", "Model 3"), label = "Model Auswahl"),
            sunburstOutput("sunburst", width = "1200", height = "1200")),

          box(
            selectInput("input_pie_rechts", choices = c("Model 1", "Model 2", "Model 3"), label = "Model Auswahl"),
            sunburstOutput("sunburst2", width = "1200", height = "1200"))

Ответы [ 2 ]

0 голосов
/ 22 мая 2019

Я создал следующее решение:

ui.R

tabItem(tabName = "sunbrust",
        h2("Sunbrust Visualization"),
        fluidRow(
          #column(10, align="center",
          #       sunburstOutput("sunburst", width = "1200", height = "1200")

      box(
        uiOutput("sunburst_auswahl_links"),
        sunburstOutput("sunburst", width = "1200", height = "1200")),

      box(
        uiOutput("sunburst_auswahl_rechts"),
        sunburstOutput("sunburst2", width = "1200", height = "1200"))

    )

server.R

  output$sunburst_auswahl_links <- renderUI({
    selectInput("auswahl_sunburst_links", "Model Auswahl:", c(1,2,3)) 
  })

  sunbrylinks <- reactive({sunburst(datapielist[as.integer(input$auswahl_sunburst_links)][[1]], count =  TRUE, legend = list(w = 150,h = 50, s = 15 , t = 1 ), breadcrumb = list(w = 150,h = 75, s = 15 , t = 10))})

  output$sunburst <- renderSunburst({sunbrylinks()})


  output$sunburst_auswahl_rechts <- renderUI({
    selectInput("auswahl_sunburst_rechts", "Model Auswahl:", c(1,2,3)) 
  })

  sunbryrechts <- reactive({sunburst(datapielist[as.integer(input$auswahl_sunburst_rechts)][[1]], count =  TRUE, legend = list(w = 150,h = 50, s = 15 , t = 1 ), breadcrumb = list(w = 150,h = 75, s = 15 , t = 10))})

  output$sunburst2 <- renderSunburst({sunbryrechts()})
0 голосов
/ 21 мая 2019

Я не уверен, что вы пытаетесь сделать. Показывать только один график вместо двух, используя slideInput для выбора набора данных? Может быть, код ниже помогает. Если нет, укажите, что вы пытаетесь сделать, а также предоставьте больше кода, чтобы ваша панель могла быть воспроизведена.

ui.R

  tabItem(tabName = "sunbrust",
               h2("Sunbrust Visualization"),
               fluidRow(

                 box(
                   selectInput("input_pie", choices = c("Model 1" = 1, "Model 2" = 2),
                               label = "Model Auswahl"),
                   sunburstOutput("sunburst", width = "1200", height = "1200"))
               )

server.R

    data = reactive({

    if (input$input_pie == 1) {
      data <- data_pie
    } else {
        data <- data_pie2
      } 

    })

    output$sunburst <- renderSunburst({sunburst(data(), count =  TRUE, legend = list(w = 150,h = 50, s = 15 , t = 1 ), breadcrumb = list(w = 150,h = 75, s = 15 , t = 10))})
...