gpt4 book ai didi

r - 多次在图之间切换

转载 作者:行者123 更新时间:2023-12-04 10:25:10 24 4
gpt4 key购买 nike

我正在创建一个 Shiny 应用程序,用户可以在其中根据单击单选按钮在不同的图之间切换。我在this中遵循了cmaher的建议问题,但我发现我只能切换一次。第二次给了我一个空白的输出。

为什么在单击按钮时不会 Shiny 渲染绘图输出?以及如何做到这一点?

MWE:

server <- shinyServer(function(input, output, session) {
PlotA <- reactive({
plot(-2:2, -2:2)
})

PlotB <- reactive({
plot(-1:1, -1:1)
})

PlotInput <- reactive({
switch(input$PlotChoice,
"A" = PlotA(),
"B" = PlotB())
})

output$SelectedPlot <- renderPlot({
PlotInput()
})

})


ui <- shinyUI(fluidPage(
navbarPage(title=" ",
tabPanel("A",
sidebarLayout(
sidebarPanel(
radioButtons("PlotChoice", "Displayed plot:",
choices = c("A", "B"))),
mainPanel(plotOutput("SelectedPlot")))))
, fluid=TRUE))

shinyApp(ui=ui, server=server)

最佳答案

看来switch不适用于响应式(Reactive)表达式,但我不知道为什么。这是另一种选择:

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

your_plot <- reactive({
if(input$PlotChoice == "A") {
plot(-2:2, -2:2)
}
else if (input$PlotChoice == "B"){
plot(-1:1, -1:1)
}
})

output$SelectedPlot <- renderPlot({
your_plot()
})

})


ui <- shinyUI(fluidPage(
navbarPage(title=" ",
tabPanel("A",
sidebarLayout(
sidebarPanel(
radioButtons("PlotChoice", "Displayed plot:",
choices = c("A", "B"))),
mainPanel(plotOutput("SelectedPlot")))))
, fluid=TRUE))

shinyApp(ui=ui, server=server)

关于r - 多次在图之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60653865/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com