2017-07-01 2 views
0

Im Versuch, diese Grafik zu kombinieren i in ggplot gemacht [! [Treten Sie hier image description] [1]] [1]Mix ggplot Graphen auf mehreren Seiten im PDF-

mit ein paar mehr Graphen (ein Beispiel weiter unten) in einer einzigen PDF-Datei. Aber der erste Graph befindet sich auf einer Seite, der nächste Graph 2 auf Seite 2, Graph 3 auf Seite 3 und so weiter.

[! [Treten Sie hier image description] [2]] [2]

Mein Problem ist, dass ich kippe die Graphen in 1 pdf-Datei zu kombinieren scheint, wie ich einen Fehler halten bekommen, wo ich die PDF-Datei öffnen kann nicht Datei. Ive versucht, den Code ive hier gesehen zu ändern: Printing multiple ggplots into a single pdf, multiple plots per page

aber es kann nicht

zu funktionieren scheint (dieser Teil für die 4 Graphen in 1 Seite)

pdf("plots.pdf", onefile = TRUE) 

plot1 <- ggplot(data = FBMKLCI.df) + 
theme_minimal() + 
    geom_line(aes(x = Date, y = PX_LAST., color = 
PE)) + 
    scale_color_continuous(low = 'green', high='red') + 
    labs(y="", colour = "PE") + 
    theme(legend.position = 'bottom', 
     plot.title = element_text(colour = 'blue', face = 'bold'), 
     legend.key.width = unit(1, "cm")) + 
    ggtitle('FBMKLCI') 


plot2<- ggplot(data = FBM70.df) + 
    theme_minimal() + 
    geom_line(aes(x = Date, y = PX_LAST., color = 
PE)) + 
    scale_color_continuous(low = 'green', high='red') + 
    labs(y="",colour = "PE")+ 
    theme(legend.position = 'bottom', 
     plot.title = element_text(colour = 'blue', face = 'bold'), 
     legend.key.width = unit(1, "cm")) + 
    ggtitle('FBM70') 

plot3 <- ggplot(.... 

plot4<-... 

grid.arrange(plot1, plot2, plot3, plot4, ncol=2) 

(dieser Teil ist für die Grafiken auf den nächsten Seiten)

p <- list() 

for(i in 1:3) { 
    p[[i]] <- list() 

    p[[i]][[1]] <- ggplot(data = plot1) + 
    theme_minimal() + 
    facet_wrap(~Sector, nrow = 5, scales="free_y") + 
    geom_line(aes(x = Date, y = BEST_EPS.BEST_FPERIOD_OVERRIDE.1GY, color = 
    Sector)) + 
    theme(legend.position="none") 

    p[[i]][[2]] <- ggplot(data = plot2) + 
    theme_minimal() + 
    facet_wrap(~Sector, nrow = 5, scales="free_y") + 
    geom_line(aes(x = Date, y = eps.rev3mo, color = Sector)) + 
    theme(legend.position="none") 

    p[[i]][[3]] <- ggplot(data = plot3) + 
    theme_minimal() + 
    facet_wrap(~Sector, nrow = 5, scales="free_y") + 
    geom_line(aes(x = Date, y = eps.rev3mo, color = Sector)) + 
    theme(legend.position="none") 

} 

print(p) 

dev.off() 

Ich entschuldige mich im Voraus, da dies das erste Mal ist, dass ich ggplot2 benutze. Wirklich zu schätzen und danke im Voraus für die Hilfe.

+0

'marrangeGrob' kann hier – user20650

+0

Dank helfen, aber wie kombiniere ich die Graphen in verschiedenen Seiten? Ich habe das Layout bereits entworfen, nur brauchen sie in 1 Datei zu sein .. –

Antwort

1

Vielleicht hilft das,

enter image description here

library(ggplot2) 
library(gridExtra) 

page1 <- replicate(4, ggplot(), simplify = FALSE) 
other <- replicate(3, replicate(6, ggplot(), simplify = FALSE), simplify = FALSE) 

pdf("multipage.pdf", width=6, height = 4) 
grid.arrange(grobs = page1, ncol=2) 
print(marrangeGrob(grobs = unlist(other, recursive = FALSE), ncol=3,nrow=2)) 
dev.off() 
Verwandte Themen