#r #shiny #shinydashboard
#r #блестящий #shinydashboard
Вопрос:
Я создаю простой график sinydashboard в поле. По какой-то причине белое поле, в котором задан график, обрезается в верхней правой и нижней правой части. Это происходит, когда я устанавливаю ширину поля более 500.
Вот мой код :
library(shiny)
library(ggplot2)
library(shinydashboard)
#ui object
ui <- fluidPage(
dashboardPage(
dashboardHeader(),
dashboardSidebar(width = 0),
dashboardBody(
fluidRow(
column(width = 12,
box(plotOutput("plot1", height = 400, width = 700))
)
)
)
)
)
#server object
server <- function(input, output, session) {
output$plot1 <- renderPlot({
ggplot(data = diamonds)
geom_line(aes(x = depth, y = price))
})
}
shinyApp(ui = ui, server = server)
Ответ №1:
Я обнаружил, что ширина и высота графиков требуют небольшой настройки. Для вашего примера я бы, вероятно, использовал:
ui <- fluidPage(
dashboardPage(
dashboardHeader(),
dashboardSidebar(width = 0),
dashboardBody(
fluidRow(
box(plotOutput("plot1", height = 400), width = 12)
)
)
)
)
Если затем вы хотите сократить ширину диаграммы, просто измените переменную ширины прямоугольника. 12 — полная ширина окна, 6 — половина и т. Д.
Комментарии:
1. Большое спасибо, olorcain. Это сработало. Хотя было бы неплохо узнать, почему это работает. В моем коде я думал, что устанавливаю ширину столбца на полную (12), а затем в функции box устанавливаю ширину на то, какой должна быть ширина графика.
2. Рад, что это помогло. Я думаю, что, явно указав ширину графика 700px, вы переопределили ширину гибких столбцов начальной загрузки, используемую shiny framework. Таким образом, поле реагировало на размер окна, но размер диаграммы оставался неизменным. Если вы повторно запустите исходный код и измените размер окна в своем приложении, вы можете понять, что я имею в виду.