我有一个 R Shiny 应用程序,其中有一个图像和一个面板内的表格,但我希望图像位于表格上方,而不是一个在另一个之上。下面是一个简短的可重现示例:
library(shiny)
library(msaR)
library(bslib)
ui <- page_sidebar(
navset_card_underline(
nav_panel("Variants between viruses", msaROutput("betweenVirusAlignment"),
tableOutput("betweenVirusVariants")))
)
server <- function(input, output) {
output$betweenVirusVariants <- renderTable({
r <- data.frame(a=1:10,b=rnorm(10))
return(r)
})
output$betweenVirusAlignment <- renderMsaR({
seqfile <- system.file("sequences","AHBA.aln", package="msaR")
msaR(seqfile, menu=F, overviewbox = F, seqlogo = TRUE, conservation=TRUE,
colorscheme = "nucleotide",alignmentHeight = 200)
})
}
shinyApp(ui = ui, server = server)
关于将图像和表格分开有什么建议吗?
我认为这种行为是引导默认行为。防止这种情况的一种方法是将图像包裹在
fluidRow()
:
library(shiny)
library(msaR)
library(bslib)
ui <- page_sidebar(
navset_card_underline(
nav_panel(
"Variants between viruses",
fluidRow(msaROutput("betweenVirusAlignment")),
tableOutput("betweenVirusVariants")
)
)
)
server <- function(input, output) {
output$betweenVirusVariants <- renderTable({
data.frame(a=1:10,b=rnorm(10))
})
output$betweenVirusAlignment <- renderMsaR({
seqfile <- system.file("sequences","AHBA.aln", package="msaR")
msaR(seqfile, menu=F, overviewbox = F, seqlogo = TRUE, conservation=TRUE,
colorscheme = "nucleotide",alignmentHeight = 200)
})
}
shinyApp(ui = ui, server = server)