ИД действительно ценю вашу помощь по следующей проблеме. Я знаю несколько способов сохранить один файл в файле. Мой вопрос: как правильно сохранить множитель в файл?
Для начала, я не опытный пользователь R. Я использую ggplot2 для создания своих сюжетов, и еще одна вещь, о которой я должен упомянуть, это то, что я использую графический интерфейс RStudio. Используя пример из R Cookbook, я могу создать несколько графиков в одном окне.
Я хотел бы сохранить этот так называемый мультиплекс в файл (желательно как jpeg), но как-то не могу этого сделать.
Im создает мультипликатор следующим образом:
##define multiplot function
multiplot <- function(..., plotlist=NULL, cols) {
require(grid)
# Make a list from the ... arguments and plotlist
plots <- c(list(...), plotlist)
numPlots = length(plots)
# Make the panel
plotCols = cols # Number of columns of plots
plotRows = ceiling(numPlots/plotCols) # Number of rows needed, calculated from # of cols
# Set up the page
grid.newpage()
pushViewport(viewport(layout = grid.layout(plotRows, plotCols)))
vplayout <- function(x, y)
viewport(layout.pos.row = x, layout.pos.col = y)
# Make each plot, in the correct location
for (i in 1:numPlots) {
curRow = ceiling(i/plotCols)
curCol = (i-1) %% plotCols + 1
print(plots[[i]], vp = vplayout(curRow, curCol ))
}
}
## define subplots (short example here, I specified some more aesthetics in my script)
plot1a <- qplot(variable1,variable2,data=Mydataframe1)
plot1b <- qplot(variable1,variable3,data=Mydataframe1)
plot1c <- qplot(variable1,variable2,data=Mydataframe2)
plot1d <- qplot(variable1,variable3,data=Mydataframe2)
## plot in one frame
Myplot <- multiplot(plot1a,plot1b,plot1c,plot1d, cols=2)
Это дает желаемый результат. Проблема возникает, когда я пытаюсь сохранить файл. Я могу сделать это вручную в RStudio (используя Export → Save plot как изображение), но я хотел бы запустить все в script. Мне удается сохранить только subplot1d (который является last_plot()), а не полный множитель.
Что Ive пробовал до сих пор:
-
Использование ggsave
ggsave(filename = "D:/R/plots/Myplots.jpg")
Это приводит к сохранению только подзаголовка 1d.
-
Использование jpeg(), print() и dev.off()
jpeg(filename = "Myplot.jpg", pointsize =12, quality = 200, bg = "white", res = NA, restoreConsole = TRUE) print(Myplot) dev.off()
Это приводит к полностью белым изображениям (только предположение, которое я предполагаю). print (Myplot) возвращает NULL.
Не уверен, что я делаю неправильно здесь. Мое непонимание R - причина, по которой я застреваю, пытаясь найти решение. Может ли кто-нибудь объяснить, что я делаю неправильно, и, возможно, предложить способ решить мои проблемы?