Я построил один график, который я хотел бы заполнить всю страницу Shiny dashboard. В основном приведенный ниже код работает для меня, за исключением того, что диаграмма всегда составляет половину высоты страницы, и я хотел бы, чтобы она заполняла всю высоту. Я пробовал использовать функцию fillPage () и другие решения на этом форуме, но, похоже, ни одно из них не работает в моей конкретной ситуации.
Ниже приведен воспроизводимый код и изображение того, что он производит. Спасибо.
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(title = "Header"),
sidebar <- dashboardSidebar(),
body <- dashboardBody(
fillPage(plotlyOutput("Waterfall", height="100%", width="100%"))
),
dashboardPage(dashboardHeader(title="Title"), sidebar,body)
)
server <- shinyServer(function(input, output, session) {
x= list("Sales", "Consulting", "Net revenue", "Purchases", "Other expenses", "Profit before tax")
measure= c("relative", "relative", "total", "relative", "relative", "total")
text= c("+60", "+80", "", "-40", "-20", "Total")
y= c(60, 80, 0, -40, -20, 0)
data = data.frame(x=factor(x,levels=x),measure,text,y)
output$Waterfall <- renderPlotly({ plot_ly(
data, name = "20", type = "waterfall", measure = ~measure,
x = ~x, textposition = "outside", y= ~y, text =~text,
connector = list(line = list(color= "rgb(63, 63, 63)"))) })
})
shinyApp(ui=ui, server=server)
Заполнить страницу