Как избежать повторного рендеринга ggplot при изменении разрешения - PullRequest
1 голос
/ 30 октября 2019

У меня проблема с рендерингом ggplot при изменении разрешения экрана, особенно когда я работаю с большими файлами, из-за чего мой текстовое приложениеinyApp загружается при каждом изменении разрешения. Есть ли способ избежать этого?

library(shiny)
library(ggplot2)

ui <- fluidPage(
  plotOutput("plot")
)

server <- function(input, output, session) {

  data<-mtcars
  for(i in 1:15){
    data<-rbind(data,data)
  }


  output$plot<-renderPlot({
    ggplot(aa,aes(x = cyl, y = mpg))+geom_point()
  })

}

shinyApp(ui, server)

Ответы [ 2 ]

0 голосов
/ 31 октября 2019

Я пытался сказать, что при изменении разрешения экрана (например, увеличение / уменьшение) я вижу, что мы запускаем renderPlot с самого начала, в то время как renderTable делает это. Вы можете запустить код и увидеть распечатки в консоли

library(shiny)
library(ggplot2)

ui <- fluidPage(
  plotOutput("plot"),
  tableOutput("table")
)

server <- function(input, output, session) {

  data<-mtcars
  for(i in 1:5){
    data<-rbind(data,data)
  }


  output$plot<-renderPlot({
    print("plot")
    ggplot(data,aes(x = cyl, y = mpg))+geom_point()
  })

output$table<-renderTable({
print("table")
head(data)
})
}

shinyApp(ui, server)
0 голосов
/ 30 октября 2019

Можете ли вы попробовать

plotOutput("plot", height = "600px", width = "100%")

Это может исправить размер изображения, поэтому при изменении размера экрана оно должно быть одинаковым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...