是否有一种方法可以调整发光的仪表板中的图和框的高度,而不管操作系统和屏幕分辨率如何?例如,在下面,我想在显示应用程序的任何屏幕中覆盖仪表板主体中80%的屏幕高度?
library(shiny)
library(shinydashboard)
library(shinydashboardPlus)
library(plotly)
library(ggplot2)
shinyApp(
ui = dashboardPagePlus(
header = dashboardHeaderPlus(
enable_rightsidebar = TRUE,
rightSidebarIcon = "gears"
),
sidebar = dashboardSidebar(),
body = dashboardBody(
navbarPage("Navbar!",
tabPanel("Plot",
boxPlus(
plotlyOutput("plot1")
)
))
),
title = "Right Sidebar"
),
server = function(input, output) {
output$plot1 <- renderPlotly({
p <- qplot(Petal.Width, Sepal.Length, data = iris, color = Species)
p <- ggplotly(p)
hide_legend(p)
})
}
)
答案 0 :(得分:2)
也许你想要
tabPanel("Plot",
boxPlus(
plotlyOutput("plot1", height = "80vh"),
height = "80vh"
)
)
80vh
表示视口高度的80%。
答案 1 :(得分:0)
尝试结合使用fluidRow
和column
函数。对于占据桌面屏幕上tabPanel的80%的盒子:
tabPanel("Plot",
fluidRow(column(9,
boxPlus(width=12,
plotlyOutput("plot1")
)
))
)
相反,对于占用盒式容器80%的地块,
tabPanel("Plot",
boxPlus(width=12,
fluidRow(column(9,
plotlyOutput("plot1")
))
)
)
在所有情况下,由于fluidRow
和column
使用Bootstrap网格,一旦您缩小到移动屏幕的大小,组件将重新排列以显示移动视图。
此外,您将navbarPage与DashboardPage组合在一起似乎有点奇怪-您实际上是要用tabsetPanel还是tabItems代替?