gpt4 book ai didi

R Shiny - 如何使用第 2 列中的嵌套行生成此布局

转载 作者:行者123 更新时间:2023-12-05 04:13:31 26 4
gpt4 key购买 nike

我想在“Fluid9”下有两行,但这行不通。第一行应该有三个地 block ,而第二行应该只有一个地 block 跨越第一行中 3 个地 block 的宽度 (9)。我错过了什么?

我正在尝试获取类似于 this 的内容布局(见下图 2),除了我不需要左侧的 slider 。

ui <- shinyUI(fluidPage(
fluidRow(
column(12,
"Fluid12",
fluidRow(
column(3,
"Fluid3",
numericInput('H_lbv', 'Height - lower bound', 10),
numericInput('H_ubv', 'Height - upper bound', 21),
numericInput('D_lbv', 'Diam. - lower bound', 8),
numericInput('D_ubv', 'Diam. - upper bound', 16),
numericInput('ro_lbv', 'Dens. - lower bound', 0.3),
numericInput('ro_ubv', 'Dens. - upper bound', 1.0)
),
column(width = 9,
"Fluid9",
fluidRow(
column(3,
plotOutput("plot")),
column(width=3,
plotOutput("plot2")),
column(width=3,
plotOutput("plot3"))
), fluidRow( ## I thought this would work to add the second row
column(width=9,
plotOutput("plot3"))
)
)
)
)
)
)
)

服务器代码:

server <- function(input, output) {    

xseq <- reactive({
x1 <- input$H_lbv - (input$H_ubv - input$H_lbv)/2 # set my x-axis left bound
x2 <- input$H_ubv + (input$H_ubv - input$H_lbv)/2 # set my x-axis right bound
# return
seq(x1, x2, 0.01)
})

densities <- reactive({
dpar <- get.norm.par(p = c(lb, ub), q = c(input$H_lbv, input$H_ubv), plot = FALSE)
mean <- dpar[1]
sd <- dpar[2]
# return
dnorm(xseq1, mean, sd)
})
densities2 <- reactive({
dpar2 <- get.norm.par(p = c(lb, ub), q = c(input$D_lbv, input$D_ubv), plot = FALSE)
mean2 <- dpar2[1]
sd2 <- dpar2[2]
# return
dnorm(xseq2, mean2, sd2)
})
densities3 <- reactive({
dpar3 <- get.norm.par(p = c(lb, ub), q = c(input$ro_lbv, input$ro_ubv), plot = FALSE)
mean3 <- dpar3[1]
sd3 <- dpar3[2]
# return
dnorm(xseq3, mean3, sd3)
})

output$plot <- renderPlot({
plot(xseq1, densities(),
col = "darkgreen", xlab="", ylab="Density", type="l",lwd=2, cex=2,
main="Height", cex.axis=.8)
})
output$plot2 <- renderPlot({
plot(xseq2, densities2(),
col = "darkgreen", xlab="", ylab="Density", type="l",lwd=2, cex=2,
main="Diameter", cex.axis=.8)
})
output$plot3 <- renderPlot({
plot(xseq3, densities3(),
col = "darkgreen", xlab="", ylab="Density", type="l",lwd=2, cex=2,
main="Packing Density", cex.axis=.8)
})
}

shinyApp(ui = ui, server = server)

enter image description here

enter image description here

最佳答案

在新的 fluidRow 中,新的最大宽度变为 12(它总是嵌套的)。所以需要将三列的宽度从width=3改为width=4,最后一列的width=9改为width=12。

       column(width = 9,
"Fluid9",
fluidRow(
column(width=4,
plotOutput("plot")),
column(width=4,
plotOutput("plot2")),
column(width=4,
plotOutput("plot3"))
), fluidRow( ## I thought this would work to add the second row
column(width=12,
plotOutput("plot3"))
)
)
)
)

关于R Shiny - 如何使用第 2 列中的嵌套行生成此布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37472915/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com