我有一个闪亮的 MWE,如下所示,我在其中显示了一些图(从应用程序中的其他选项卡传递)。
我能够做到这一点:
library(shiny)
library(ggplot2)
test_ui <- function(id){
ns <- NS(id)
tagList(
plotOutput(outputId = ns("plot1"), height=100, width=1500),
plotOutput(outputId = ns("plot2"), height=100, width=1500),
plotOutput(outputId = ns("plot3"), height=100, width=1200),
plotOutput(outputId = ns("plot4"), height=100, width=1200)
)
}
test_server <- function(id){
moduleServer(id, function(input, output, session){
ns <- session$ns
output$plot1 <- renderPlot({
ggplot(mtcars, aes(x = mpg, y = drat)) +
geom_point()
})
output$plot2 <- renderPlot({
ggplot(mtcars, aes(x = mpg, y = qsec)) +
geom_point()
})
output$plot3 <- renderPlot({
ggplot(mtcars, aes(x = disp, y = drat)) +
geom_point()
})
output$plot4 <- renderPlot({
ggplot(mtcars, aes(x = disp, y = qsec)) +
geom_point()
})
})
}
demoApp <- function() {
ui <- fluidPage(
test_ui("demo")
)
server <- function(input, output, session) {
test_server("demo")
}
shinyApp(ui, server)
}
demoApp()
显示如下图:
不过,我想要的是完成与此更类似的事情:
我在左侧冻结了(不可滚动)块,其中包含“名称”和“组”图,以及每个组的 x 轴的公共滚动条。
这可能吗?可以用简单的方法来完成吗?我不知道如何开始。
bslib 可以轻松地让您做到这一点,如果您愿意,还可以使用可折叠的侧边栏:https://rstudio.github.io/bslib/articles/sidebars/index.html
library(bslib)
demoApp <- function() {
ui <- page_fillable(
layout_sidebar(
sidebar = sidebar(
# any content separate from the demo
),
card(test_ui("demo"))
),
layout_sidebar(
sidebar = sidebar(
# any content separate from the demo2
),
card(test_ui("demo2"))
)
)
server <- function(input, output, session) {
test_server("demo")
test_server("demo2")
}
shinyApp(ui, server)
}