我有一个闪亮的仪表板,其中有三个标签使用tabBox
,我想使用激活的标签来确定/显示相关的仪表板侧边栏输入。目前它们都同时出现......我想根据激活的标签消失一些。
以下是我目前的尝试。
对此的任何帮助都将非常感激。
我的ui.R
脚本如下:
#ui.R
library(shiny)
library(shinydashboard)
header <- dashboardHeader(
title = 'Simple dashbaord'
)
body <- dashboardBody(
fluidRow(
column(width=12,
tabBox(
id='tabvals',
width=NULL,
tabPanel('TAB name1',
plotOutput('plot1'),value=1),
tabPanel('TAB name2',
plotOutput('plot2'),value=2),
tabPanel('TAB name3',
plotOutput('plot3'),value=3)
)
)
)
)
dashboardPage(
header,
dashboardSidebar(
conditionalPanel(
condition = "input$tabvals == 1",
sliderInput('slider1','Slider for tab1:',min=1,max=3000,value=30),
sliderInput('slider2','2nd Slider for tab1:',min=1,max=3000,value=300)
),
conditionalPanel(
condition = "input$tabvals == 2",
sliderInput('slider3','Slider for tab2:',min=1,max=1000,value=10),
sliderInput('slider4','2nd Slider for tab2:',min=1,max=1000,value=500)
),
conditionalPanel(
condition = "input$tabvals == 3",
sliderInput('slider5','Slider for tab3:',min=1,max=3000,value=30),
sliderInput('slider6','2nd Slider for tab3:',min=1,max=3000,value=30)
)
),
body
)
我的server.R
脚本如下:
require(shiny)
require(ggplot2)
shinyServer(function(input,output){
output$plot1 <- renderPlot({
out <- ggplot(data.frame(X1=rnorm(input$slider1,input$slider2)),aes(X1))+
geom_density(fill='light blue')+
theme_minimal()+
xlab('X value')+
ylab('')+
ggtitle('Distribution of X')+
theme(
axis.text.y = element_blank(),
axis.ticks = element_blank())
print(out)
})
output$plot2 <- renderPlot({
out <- ggplot(data.frame(X1=rnorm(input$slider3,input$slider4)),aes(X1))+
geom_density(fill='light blue')+
theme_minimal()+
xlab('X value')+
ylab('')+
ggtitle('Distribution of X')+
theme(
axis.text.y = element_blank(),
axis.ticks = element_blank())
print(out)
})
output$plot3 <- renderPlot({
out <- ggplot(data.frame(X1=rnorm(input$slider5,input$slider6)),aes(X1))+
geom_density(fill='light blue')+
theme_minimal()+
xlab('X value')+
ylab('')+
ggtitle('Distribution of X')+
theme(
axis.text.y = element_blank(),
axis.ticks = element_blank())
print(out)
})
})
答案 0 :(得分:4)
更改条件:
condition = "input$tabvals == 1",
为:
condition = "input.tabvals == 1",
的帮助。这应该在Shiny中更加一致吗?