我有一个 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/