Я рисую несколько объектов ggplot2
и помещаю их на grid.arrange
внутри вызова устройства 'pdf'. Я обнаружил, что PDF-файл работает примерно в миллиард раз лучше (быстрее генерируется, быстрее рендерится), если я сначала растрирую графики. Итак, внутри параллельного цикла dlply
я использую ggsave
для записи ggplot2
в виде PNG, затем использую readPNG
для обратного чтения и rasterGrob
для преобразования возвращаю его в dlply
. dlply
помещает его в список grobs
, который grid.arrange
затем рисует на устройстве PDF.
Некоторые из них кажутся громоздкими, так что в целом есть ли лучший подход? Но что меня действительно беспокоит, так это запись PNG-файлов на диск, когда все, что я делаю с ними, — это считываю их обратно. Есть ли способ сохранить grob непосредственно в rasterGrob?
plot.list <- dlply( ... {
ggsave(filename= fname
,plot= my.plot
,device= "png"
,scale = 1, width= 1.1, height= 2.125, units = "in"
,dpi = dpi)
# return it as a list of rasters
rasterGrob(readPNG( source= fname, info= TRUE))
}
ggsave
- person MrFlick   schedule 28.04.2016