gpt4 book ai didi

r - 将 Shiny 的图缩放到窗口高度

转载 作者:行者123 更新时间:2023-12-03 10:59:58 25 4
gpt4 key购买 nike

我想将一个 Shiny 的图缩放到窗口的高度。此 related SO question仅使用以像素为单位的绝对高度规范,当 height = 100%会更可取。我在文档中注意到 absolutePanel可以通过它的 top, bottom, left, right 实现这一点参数,但随后您丢失了侧面板,并且在任何情况下,绘图(缩放到宽度时)似乎都忽略了可用高度。

我猜这与 html 怪癖有关,这意味着您需要使用 javascript innerHeight 获取高度多变的。但我不清楚如何在 Shiny 中实现解决方案来获得 ui.R利用这个。感谢任何指点。

用于开发的基本应用程序模型:

ui.R

library(shiny)
shinyServer(
function(input, output) {
output$myplot <- renderPlot({
hist(rnorm(1000))
})
}
)

server.R
library(shiny)
pageWithSidebar(
headerPanel("window height check"),
sidebarPanel(),
mainPanel(
plotOutput("myplot")
)
)

最佳答案

使用 CSS3。以视口(viewport)单位声明您的高度 http://caniuse.com/#feat=viewport-units .
您应该能够使用 height 声明它们。参数在 plotOutput然而 shiny::validateCssUnit无法识别它们,因此您可以在样式 header 中声明它们:

library(shiny)
runApp(
list(server= function(input, output) {
output$myplot <- renderPlot({
hist(rnorm(1000))
})
}
, ui = pageWithSidebar(
headerPanel("window height check"),
sidebarPanel(
tags$head(tags$style("#myplot{height:100vh !important;}"))
),
mainPanel(
plotOutput("myplot")
)
)
)
)

这不会在 Shiny 的浏览器中工作,但应该在主浏览器中正常工作。

enter image description here

关于r - 将 Shiny 的图缩放到窗口高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26782041/

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