Я создаю простой график 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)
Я считаю, что ширина и высота графиков требуют небольшой настройки. Для вашего примера я бы, вероятно, использовал:
ui <- fluidPage(
dashboardPage(
dashboardHeader(),
dashboardSidebar(width = 0),
dashboardBody(
fluidRow(
box(plotOutput("plot1", height = 400), width = 12)
)
)
)
)
Если вы хотите уменьшить ширину диаграммы, просто настройте переменную ширины окна. 12 — полная ширина окна, 6 — половина и т. д.
Рад, что это помогло. Я думаю, что, явно указав ширину графика 700 пикселей, вы переопределили гибкую ширину столбца начальной загрузки, используемую блестящей структурой. Таким образом, поле реагировало на размер окна, но диаграмма оставалась статического размера. Если вы повторно запустите свой исходный код и измените размер окна в своем приложении, вы можете понять, что я имею в виду.
Большое спасибо, олоркаин. Это сработало. Хотя было бы неплохо знать, почему это работает. В моем коде я думал, что устанавливаю ширину столбца на полную (12), а затем в функции поля устанавливаю ширину такой, какой должна быть ширина графика.