Следующий код показывает 2 ggplot2
-площадки в shinydashboard
.Фоновые изображения всегда должны быть прозрачными , даже после изменения размера .
Графики отображаются правильно при запуске приложения, но как только размер экрана изменяется илибоковая панель закрыта, фон снова становится белым. Почему и как это можно предотвратить?
При закрытии боковой панели фон меняется на белый, а после повторного открытия боковой панели графики снова переключаются на прозрачные.Но при изменении размера окна, оно не меняется обратно на прозрачное, несмотря ни на что.За исключением, может быть, вы измените размер точно к размерам окна по умолчанию.Мне не удалось проверить это;)
Это происходит в RStudio и браузере (Chrome, Firefox).
Я знаю, что можно было бы изменить цвет фона ggplots на фонцвет ShinyApp.Но я надеюсь, что это не единственный.
library(shiny)
library(shinydashboard)
library(ggplot2)
df <- data.frame(
id = rep(1:5, each=5),
a = runif(25, 2, 50)
)
ui = {dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
splitLayout(cellWidths = c("50%", "50%"),
plotOutput("boxplot"),
plotOutput("vioplot")
)
)
)}
server <- function(input, output) {
output$boxplot <- renderPlot({
ggplot(df, aes(x=id, y=a, group=id)) +
geom_boxplot(aes(fill=id)) +
facet_grid(~id, margins = T) +
theme(rect=element_blank(),
panel.grid = element_blank(),
panel.background= element_blank(),
plot.background = element_blank()
)
}, bg="transparent")
output$vioplot <- renderPlot({
ggplot(df, aes(x=id, y=a, group=id)) +
geom_violin(aes(fill=factor(id))) +
facet_grid(~id, margins = T) +
theme(rect=element_blank(),
panel.grid = element_blank(),
panel.background= element_blank(),
plot.background = element_blank()
)
}, bg="transparent")
}
shinyApp(ui, server)