在shiny中用现有的plotly情节创建下拉菜单。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在shiny中用现有的plotly情节创建下拉菜单。相关的知识,希望对你有一定的参考价值。

我是一个非常新的R,所以这可能是超级明显的,但我真的卡住了!我有五个现有的plotly图表已经创建了。

我已经创建了五个现有的plotly图表。我希望能够从一个下拉菜单中选择它们。我不能让现有的图表名称和下拉菜单之间的链接工作。

我最近的尝试(不成功)。

ui <-shinyUI(fluidPage(selectInput("selectPlot", "Select Year:", 
choices = c("2015", "2016", "2017", "2018", "Average price across US"), 
selected = "Average price across US", plotlyOutput("plot"))))

server <- shinyServer(function(input,output){    
  output$plot <- renderPlotly({
    if(input$selectPlot == '2015') {
      p <- gg1
    }
    if(input$selectPlot == '2016') {
      p <- gg2
    }
    if(input$selectPlot == '2017') {
      p <- gg3
    }
    if(input$selectPlot == '2018') {
      p <- gg4
    }
    if(input$selectPlot == 'Average price across US') {
      p <- gg5
    }
    return(p)
  })
})

shinyApp(ui,server)

我想让gg1在选择 "2015 "时显示出来等等

答案

试试这个。

library(shiny)
library(plotly)

ui <- shinyUI(
    fluidPage(
        selectInput("selectPlot", "Select Year:", c("2015", "2016", "2017", "2018", "Average price across US"), 
                    selected = "Average price across US"),
        plotlyOutput("plot")
    )
)

server <- shinyServer(function(input,output,session){   

    data <- eventReactive(input$selectPlot,{
        switch(input$selectPlot,
               "2015" = gg1,
               "2016" = gg2,
               "2017" = gg3,
               "2018" = gg4,
               "Average price across US" = gg5)
    })

    output$plot <- renderPlotly({
        data()
    })
})

shinyApp(ui,server)

以上是关于在shiny中用现有的plotly情节创建下拉菜单。的主要内容,如果未能解决你的问题,请参考以下文章

另一个破折号/情节困境

用情节 Shiny R 制作累积图形

使用Javascript使用shinyjs将数据表导出为Shiny中的CSV

是否有可能实现与多个分类轴的Shiny情节交互?

使用 R 和 Shiny 的带有子类别的下拉菜单

R Shiny:使用 Leaflet Map Click 更新多个相关下拉菜单