У меня есть несколько тем, для которых мне нужно создать сюжет, поскольку у меня есть много предметов, которые я хотел бы иметь несколько графиков на одной странице, а не одну фигуру для темы. Вот это то, что я сделал до сих пор:ggplot2: печать нескольких графиков на одной странице с петлей
чтения TXT файл с предметами имя
subjs <- scan ("ListSubjs.txt", what = "")
Создание списка для хранения объектов сюжета
pltList <- list()
for(s in 1:length(subjs))
{
setwd(file.path("C:/Users/", subjs[[s]])) #load subj directory
ifile=paste("Co","data.txt",sep="",collapse=NULL) #Read subj file
dat = read.table(ifile)
dat <- unlist(dat, use.names = FALSE) #make dat usable for ggplot2
df <- data.frame(dat)
pltList[[s]]<- print(ggplot(df, aes(x=dat)) + #save each plot with unique name
geom_histogram(binwidth=.01, colour="cyan", fill="cyan") +
geom_vline(aes(xintercept=0), # Ignore NA values for mean
color="red", linetype="dashed", size=1)+
xlab(paste("Co_data", subjs[[s]] , sep=" ",collapse=NULL)))
}
На данный момент я могу отобразить сингл графики, например,
print (pltList[1]) #will print first plot
print(pltList[2]) # will print second plot
Я хотел бы иметь решение, с помощью которого se Veral участки отображаются в одной и той же странице, Я пытался что-то вдоль линий предыдущих постов, но я не смог заставить его работать
, например:
for (p in seq(length(pltList))) {
do.call("grid.arrange", pltList[[p]])
}
дает мне следующую ошибку
Error in arrangeGrob(..., as.table = as.table, clip = clip, main = main, : input must be grobs!
можно использовать более основные функции графического, но я хотел бы добиться этого с помощью ggplot. Большое спасибо за внимание Матильды
Спасибо за помощь, но это не похоже на работу Ошибка в arrangeGrob (..., as.table = as.table, клип = clip, main = main,: Вход должен быть grobs! – Matilde
Я предполагаю, что это связано с вашим расположением. Посмотрите: http://stackoverflow.com/questions/21343372/arrangegrob-error-when-using- ggplot2-в-функции – Metrics