考虑使用switch()进行更新时如何显示图?

时间:2019-06-26 19:33:39

标签: r shiny

所以我试图创建一个闪亮的应用程序以可视化一些概率函数。我有一个旧版本(可以正常工作),其中包含一些非常繁琐的代码,现在我想使用switch功能对其进行更新。但是我的阴谋似乎对此反应不太好。

我尝试使用req()函数来强制更新数据。但是后来我想到了问题所在,就是我不能在两个面板中为绘图使用相同的名称。

      null -> null
        "" -> ""
       "a" -> "a"
"abcd1234" -> "abcd1"

在服务器中:

ui <- dashboardPage(
    dashboardHeader(title = "probability laws"),
    dashboardSidebar(
        sidebarMenu(id='menus',
                    menuItem(text = "Plotting some densities" , icon = icon("atlas"),tabName = "density"),
                    menuItem(text = "repartition functions", icon = icon("cog", lib = 'glyphicon'),tabName = "repartition")
        )
    ),
    dashboardBody(
        tabItems(
            tabItem("density",
                    fluidRow(
                        tabsetPanel(id = 'tabs',
                                    tabPanel(title='uniforme',value='unif',fluidRow(
                                        column(8, plotOutput('graphe')),
                                        column(3,wellPanel(
                                            sliderInput(inputId = "inf",label = "borne inf",min = -10,max = 10,value = 0,step = 0.2),br(),
                                            sliderInput(inputId = "sup",label = "borne sup",min = -10,max = 10,value = 1,step = 0.2),br())
                                    ))),
                                    tabPanel(title='normale',value='norm',fluidRow(
                                        column(8, plotOutput('graphe')),
                                        column(3,wellPanel(
                                            sliderInput(inputId = "mu",label = "mean",min = -10,max = 10,value = 0,step = 0.2),br(),
                                            sliderInput(inputId = "var",label = "variance",min = 0,max = 10,value = 1,step = 0.2),br())
                                        )))

                    )
            )))))

问题是R找不到任何错误,如果我保留unif部分,它会起作用。但是,当我添加普通配电盘时,我留有空白。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

因此,通过一些研究,我通过使用graphe1和graph2来解决了这个问题:

output$graphe1 <- output$graphe2 <- renderPlot(...)

感谢@Stéphane_Laurent指出错误所在。