我正在尝试在tabPanel
的{{1}}内使用多个tabsetPanel
控件。假设我只使用以下代码从一个选项卡开始:
Shiny
代码运行正常并在选项卡中显示图表。
但是,当我引入另一个标签只是为了测试标签时,两个标签都会停止显示任何图表。我使用以下代码:
mainPanel(
tabsetPanel(
tabPanel("Plot",plotOutput("distPlot"))
)
请注意,我试图在两个标签中显示相同的图表,以测试标签是否有效。我得到的是两个空白标签(如果我只使用一个标签,则图表显示正确)。
请有人帮我解决这个问题吗?
答案 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") )
)