为什么 tabsetPanel 显示在我的数据表上? R闪亮
Why is tabsetPanel displaying over my datatable? R Shiny
我已经在这里工作了几天,但运气不佳。
每当我从代码中注释掉 tabsetPanels 时,数据表 (DT) 就会自行显示。但是,当保留 tabsetPanels 时,数据表无处可寻。
为什么会这样,我该如何解决?
library(shiny)
library(DT)
library(data.table)
# Define UI ----
ui <- fluidPage(
titlePanel("Alpha"),
mainPanel(
fluidRow(
tabsetPanel(id = 'tpanel',
type = "tabs",
tabPanel("Alpha", plotOutput("plot")),
tabPanel("Beta", plotOutput("plot")),
tabPanel("Delta", plotOutput("plot")),
tabPanel("Omega", plotOutput("plot")))
),
br(),
br(),
fluidRow(
splitLayout(
dateInput("sdate", "Start Date"),
dateInput("edate", "End Date"),
textInput("gmin", "Minimum"),
textInput("gmax", "Maximum")
)
),
br(),
DT::dataTableOutput('tbl')
)
)
# Define server logic ----
server <- function(input, output) {
output$tbl <- renderDT({datatable(port, editable = 'cell', caption = 'test')})
}
# Run the app ----
shinyApp(ui = ui, server = server)
这是以下代码的输出,请注意缺少的数据表:
当我 remove/comment 退出 tabsetPanel 时,数据表正常显示。
我还应该补充一点,变量端口是从 csv 加载到内存中的,我把它放在那里是为了方便。我在启动此脚本之前手动加载它,我只是在学习掌握 shiny 的窍门时才手动加载它。最后,当我 运行 以下脚本时,它 运行 没有问题:
library(shiny)
library(DT)
library(data.table)
# Define UI ----
ui <- fluidPage(
titlePanel("Alpha"),
DT::dataTableOutput('tbl')
)
)
# Define server logic ----
server <- function(input, output) {
output$tbl <- renderDT({datatable(port, editable = 'cell', caption = 'test')})
}
# Run the app ----
shinyApp(ui = ui, server = server)
当我在上面的代码中添加tabsetPanels 时,数据表不显示。为什么会这样,我该如何解决?
Shiny 对 plotOutput("plot")
的输出有多次相同的 ID 感到困惑,因此无法呈现任何输出。
修复方法如下:
library(shiny)
library(DT)
library(data.table)
# Define UI ----
ui <- fluidPage(
titlePanel("Alpha"),
mainPanel(
fluidRow(
tabsetPanel(id = 'tpanel',
type = "tabs",
tabPanel("Alpha", plotOutput("plot1")),
tabPanel("Beta", plotOutput("plot2")),
tabPanel("Delta", plotOutput("plot3")),
tabPanel("Omega", plotOutput("plot4")))
),
br(),
br(),
fluidRow(
splitLayout(
dateInput("sdate", "Start Date"),
dateInput("edate", "End Date"),
textInput("gmin", "Minimum"),
textInput("gmax", "Maximum")
)
),
br(),
DT::dataTableOutput('tbl')
)
)
# Define server logic ----
server <- function(input, output) {
output$tbl <- renderDT({datatable(iris, editable = 'cell', caption = 'test')})
}
# Run the app ----
shinyApp(ui = ui, server = server)
我已经在这里工作了几天,但运气不佳。 每当我从代码中注释掉 tabsetPanels 时,数据表 (DT) 就会自行显示。但是,当保留 tabsetPanels 时,数据表无处可寻。 为什么会这样,我该如何解决?
library(shiny)
library(DT)
library(data.table)
# Define UI ----
ui <- fluidPage(
titlePanel("Alpha"),
mainPanel(
fluidRow(
tabsetPanel(id = 'tpanel',
type = "tabs",
tabPanel("Alpha", plotOutput("plot")),
tabPanel("Beta", plotOutput("plot")),
tabPanel("Delta", plotOutput("plot")),
tabPanel("Omega", plotOutput("plot")))
),
br(),
br(),
fluidRow(
splitLayout(
dateInput("sdate", "Start Date"),
dateInput("edate", "End Date"),
textInput("gmin", "Minimum"),
textInput("gmax", "Maximum")
)
),
br(),
DT::dataTableOutput('tbl')
)
)
# Define server logic ----
server <- function(input, output) {
output$tbl <- renderDT({datatable(port, editable = 'cell', caption = 'test')})
}
# Run the app ----
shinyApp(ui = ui, server = server)
这是以下代码的输出,请注意缺少的数据表:
当我 remove/comment 退出 tabsetPanel 时,数据表正常显示。 我还应该补充一点,变量端口是从 csv 加载到内存中的,我把它放在那里是为了方便。我在启动此脚本之前手动加载它,我只是在学习掌握 shiny 的窍门时才手动加载它。最后,当我 运行 以下脚本时,它 运行 没有问题:
library(shiny)
library(DT)
library(data.table)
# Define UI ----
ui <- fluidPage(
titlePanel("Alpha"),
DT::dataTableOutput('tbl')
)
)
# Define server logic ----
server <- function(input, output) {
output$tbl <- renderDT({datatable(port, editable = 'cell', caption = 'test')})
}
# Run the app ----
shinyApp(ui = ui, server = server)
当我在上面的代码中添加tabsetPanels 时,数据表不显示。为什么会这样,我该如何解决?
Shiny 对 plotOutput("plot")
的输出有多次相同的 ID 感到困惑,因此无法呈现任何输出。
修复方法如下:
library(shiny)
library(DT)
library(data.table)
# Define UI ----
ui <- fluidPage(
titlePanel("Alpha"),
mainPanel(
fluidRow(
tabsetPanel(id = 'tpanel',
type = "tabs",
tabPanel("Alpha", plotOutput("plot1")),
tabPanel("Beta", plotOutput("plot2")),
tabPanel("Delta", plotOutput("plot3")),
tabPanel("Omega", plotOutput("plot4")))
),
br(),
br(),
fluidRow(
splitLayout(
dateInput("sdate", "Start Date"),
dateInput("edate", "End Date"),
textInput("gmin", "Minimum"),
textInput("gmax", "Maximum")
)
),
br(),
DT::dataTableOutput('tbl')
)
)
# Define server logic ----
server <- function(input, output) {
output$tbl <- renderDT({datatable(iris, editable = 'cell', caption = 'test')})
}
# Run the app ----
shinyApp(ui = ui, server = server)