Shiny的tabsetPanel不会在多个标签中显示图表

时间:2014-04-08 04:45:18

标签: r tabs plot shiny

我正在尝试在tabPanel的{​​{1}}内使用多个tabsetPanel控件。假设我只使用以下代码从一个选项卡开始:

Shiny

代码运行正常并在选项卡中显示图表。

但是,当我引入另一个标签只是为了测试标签时,两个标签都会停止显示任何图表。我使用以下代码:

mainPanel(
    tabsetPanel(
    tabPanel("Plot",plotOutput("distPlot"))
    )

请注意,我试图在两个标签中显示相同的图表,以测试标签是否有效。我得到的是两个空白标签(如果我只使用一个标签,则图表显示正确)。

请有人帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:8)

您将"distPlot"分配给plotOutput的参数outputId。 “ID”表示此值必须在整个闪亮的应用程序中是唯一的。您可以将同一个绘图分配给两个不同的plotOutput,但是:

runApp( list(

  server = function(input, output) {
    df <- data.frame( x = rnorm(10), y = rnorm(10) )
    output$distPlot1 <- renderPlot({ plot( df, x ~ y ) })
    output$distPlot2 <- renderPlot({ plot( df, x ~ y ) })
  },

  ui = fluidPage( mainPanel(
    tabsetPanel(
      tabPanel( "Plot", plotOutput("distPlot1") ),
      tabPanel( "Plot", plotOutput("distPlot2") )
    )
  ))
))

答案 1 :(得分:1)

我们也可以将上面的代码写成一行

tabsetPanel(
  tabPanel( "Plot", plotOutput("distPlot1"),plotOutput("distPlot2") )
)