单击R中的不同按钮,在同一框中显示表格或图表
我正在尝试创建一个带有两个按钮的应用程序,在同一个框内容中显示图表或表格(而不是两者)。 例如,如果用户单击“图表”按钮,则会显示图表。同样,点击表格按钮,表格出现在相同的位置,图表消失 最小示例单击R中的不同按钮,在同一框中显示表格或图表,r,shiny,action-button,R,Shiny,Action Button,我正在尝试创建一个带有两个按钮的应用程序,在同一个框内容中显示图表或表格(而不是两者)。 例如,如果用户单击“图表”按钮,则会显示图表。同样,点击表格按钮,表格出现在相同的位置,图表消失 最小示例 if (interactive()) { library(shiny) library(shinydashboard) shinyApp( ui = shinydashboard::dashboardPage( header = dashboardHeader(),
if (interactive()) {
library(shiny)
library(shinydashboard)
shinyApp(
ui = shinydashboard::dashboardPage(
header = dashboardHeader(),
sidebar = dashboardSidebar(),
body = dashboardBody(
actionButton(inputId = 'input1', label = 'Chart'),
actionButton(inputId = 'input2', label = 'Table'),
box(
uiOutput('plot_table_output'))
),
title = "DashboardPage"
),
server = function(input, output) {
output$plot_table_output <- renderUI({
if(input$input1 >0) {
plotOutput('my_plot')
}
if(input$input2 >0) {
dataTableOutput('mytable')
}
})
output$my_plot <- renderPlot({
mydf <- data.frame(X=1:10, Y=1:10)
plot(mydf$X, mydf$Y, type = 'l')
})
output$mytable <- renderDataTable({
mydf <- data.frame(X=1:10, Y=1:10)
mydf
})
}
)
}
if(交互式()){
图书馆(闪亮)
图书馆(shinydashboard)
shinyApp(
ui=shinydashboard::仪表板页面(
header=仪表板header(),
侧栏=仪表板侧栏(),
车身=仪表板车身(
actionButton(inputId='input1',label='Chart'),
actionButton(inputId='input2',label='Table'),
盒子(
uiOutput('绘图\表格\输出')
),
title=“仪表板页面”
),
服务器=功能(输入、输出){
输出$plot\u表格\u输出0){
plotOutput(“我的绘图”)
}
如果(输入$input2>0){
dataTableOutput('mytable')
}
})
输出$my_plot执行此操作的一种方法是使用ObserveEvent()
library(shiny)
library(shinydashboard)
shinyApp(
ui = shinydashboard::dashboardPage(
header = dashboardHeader(),
sidebar = dashboardSidebar(),
body = dashboardBody(
actionButton(inputId = 'input1', label = 'Chart'),
actionButton(inputId = 'input2', label = 'Table'),
box(
uiOutput('plot_table_output'))
),
title = "DashboardPage"
),
server = function(input, output) {
observeEvent(input$input1, {
output$plot_table_output <- renderUI({
plotOutput('my_plot')
})
})
observeEvent(input$input2, {
output$plot_table_output <- renderUI({
dataTableOutput('mytable')
})
})
output$my_plot <- renderPlot({
mydf <- data.frame(X=1:10, Y=1:10)
plot(mydf$X, mydf$Y, type = 'l')
})
output$mytable <- renderDataTable({
mydf <- data.frame(X=1:10, Y=1:10)
mydf
})
}
)
库(闪亮)
图书馆(shinydashboard)
shinyApp(
ui=shinydashboard::仪表板页面(
header=仪表板header(),
侧栏=仪表板侧栏(),
车身=仪表板车身(
actionButton(inputId='input1',label='Chart'),
actionButton(inputId='input2',label='Table'),
盒子(
uiOutput('绘图\表格\输出')
),
title=“仪表板页面”
),
服务器=功能(输入、输出){
observeEvent(输入$input1{
output$plot\u table\u output一种方法是使用ObserveEvent()
library(shiny)
library(shinydashboard)
shinyApp(
ui = shinydashboard::dashboardPage(
header = dashboardHeader(),
sidebar = dashboardSidebar(),
body = dashboardBody(
actionButton(inputId = 'input1', label = 'Chart'),
actionButton(inputId = 'input2', label = 'Table'),
box(
uiOutput('plot_table_output'))
),
title = "DashboardPage"
),
server = function(input, output) {
observeEvent(input$input1, {
output$plot_table_output <- renderUI({
plotOutput('my_plot')
})
})
observeEvent(input$input2, {
output$plot_table_output <- renderUI({
dataTableOutput('mytable')
})
})
output$my_plot <- renderPlot({
mydf <- data.frame(X=1:10, Y=1:10)
plot(mydf$X, mydf$Y, type = 'l')
})
output$mytable <- renderDataTable({
mydf <- data.frame(X=1:10, Y=1:10)
mydf
})
}
)
库(闪亮)
图书馆(shinydashboard)
shinyApp(
ui=shinydashboard::仪表板页面(
header=仪表板header(),
侧栏=仪表板侧栏(),
车身=仪表板车身(
actionButton(inputId='input1',label='Chart'),
actionButton(inputId='input2',label='Table'),
盒子(
uiOutput('绘图\表格\输出')
),
title=“仪表板页面”
),
服务器=功能(输入、输出){
observeEvent(输入$input1{
输出$plot\u table\u输出