r - 根据 Shiny 的用户输入输出不同的图

标签 r shiny

我有一个 selectInput 小工具,要求用户选择一个 y 轴。选项是 Genre、Experience 和 Rating,我想输出我创建的三个条形图之一(ratebars3、expbars3 和 genbars4)。每个图都有相同的 x 轴(公司),但图表会根据 y 轴的不同而有所不同。这是我的 UI 中选择输入的代码:

    selectInput("selecty", label = h3("Select Y axis"),
    choices = list("Rating", "Experience", "Genre")) 

我一直在服务器中尝试一些 if..return 类型的语句,但没有成功。如果有人知道一些服务器代码可以根据用户输入的内容显示我的图表,那将是一个巨大的帮助。

最佳答案

我使用的是 plotly 包,但似乎我已经回答了我自己的问题。 我必须创建一个响应式(Reactive)表达式:

服务器:

    barplottest <- reactive({
    if ( "Rating" %in% input$selecty) return(bars3)
    if ( "Experience" %in% input$selecty) return(expbars3)
    if( "Genre" %in% input$selecty) return(genbars4) 
    })

   output$barplot <- renderPlotly({   
   dataplots = barplottest()
   print(dataplots)
   }) 

用户界面

      selectInput("selecty", label = h3("Select Y axis"),
                   choices = list("Rating", "Experience", "Genre")),
       plotlyOutput("barplot")

关于r - 根据 Shiny 的用户输入输出不同的图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38750446/

相关文章:

r - 在 R/Shiny 中,htmlOutput()/renderUI() 的最佳替代方案?

r - 如何在 R Shiny 中实现对数据表的内联编辑

R Shiny -observeEvent-使命令按顺序实时执行

r - 如何在 Ubuntu 中全局更改 R 语言环境?

r - 计算组均值,同时排除每个案例的单个值

R - 在不删除 NA 值的情况下拆分数据框

r - eigen_centrality{igraph} 使 R 崩溃

regex - 从数据框中删除百分比

r - 从下拉列表中选择一个变量并将其作为 R Shiny 中的reactivePlot 中的参数传递

r - 如何在 R Shiny 应用程序中将变量从模块返回到服务器?