2016-08-09 12 views
6

Potrzebuję pomocy w przetwarzaniu wykresów na wiele stron pdf. Tu jest mój bieżący kod:Jak uzyskać działki na kilku stronach pdf przy użyciu ggplot2

file <- read.csv(file="file.csv") 
library(ggplot2) 
library(gridExtra) 
library(plyr) 

gg1 <- ggplot() + 
    geom_line(aes(x=TIME, y=var1, colour = "z1"), file) + 
    geom_line(aes(x=TIME, y=var2, colour = "z2"), file) + 
    geom_point(aes(x=TIME, y=var3), file) + facet_wrap(~ ID, ncol=5)+ 
    xlab("x") + 
    ylab("Y") + 
    ggtitle(" x ") + scale_colour_manual(name="Legend", 
    values=c(z1="red", z2 ="blue")) + theme(legend.position="bottom") 
gg10 = do.call(marrangeGrob, c(gg1, list(nrow=4, ncol=4))) 
ggsave("need10.pdf", gg10) 

Oto obraz utworzony, bez podziału moje obrazy

enter image description here

Chciałbym mieć kod, aby moje działek w 4 przez 4 układu w wielokrotności strony. Dwa ostatnie wiersze mojego kodu wymagają korekty i nie wiem, jak to naprawić.

+1

Wydaje się to przydatne: [Zestaw dodatkowych funkcji dla ggplot2] (https://github.com/guiastrennec/ggplus). Wyszukałem hasło "facet_wrap wiele stron". –

+0

Zastąpiłem 'multi.plot <- marrangeGrob (grobs = gg1, nrow = 2, ncol = 2, top = quote (wklej (gg1 $ labels $ title, '\ nPage', g, 'of', pages))) pdf ('Example_marrangeGrob.pdf', w = 12, h = 8) print (multi.plot) dev.off() 'ale otrzymał błąd _Error w gList (data = lista (wrapvp = lista (x = 0,5 , y = 0,5, szerokość = 1,: tylko "grobs" dozwolone w "gList" _. Czy istnieje sposób, aby to naprawić? – Monklife

Odpowiedz

9

Opakowanie ggplus wydaje się robić, co chcesz. Zmieniłem kilka rzeczy w bloku kodu poniżej z oryginalny: facet_wrap jest wykomentowane i file zostanie przeniesiona do ggplot tak, że nie muszą być ponownie określono w każdym geom_*:

gg1 <- ggplot(file) + 
    geom_line(aes(x=TIME, y=var1, colour = "z1")) + 
    geom_line(aes(x=TIME, y=var2, colour = "z2")) + 
    geom_point(aes(x=TIME, y=var3)) + 
    # facet_wrap(~ ID, ncol=5) + 
    xlab("x") + 
    ylab("Y") + 
    ggtitle(" x ") + 
    scale_colour_manual(name="Legend", 
    values=c(z1="red", z2 ="blue"), 
    labels=c("X","Y")) + 
    theme(legend.position="bottom") 

devtools::install_github("guiastrennec/ggplus") 
library(ggplus) 
pdf("need10.pdf") 
gg10 <- facet_multiple(plot=gg1, facets="ID", ncol = 4, nrow = 4) 
dev.off() 

enter image description here enter image description here

+0

Dziękuję bardzo baaaardzo! To jest niesamowite! uratowało mnie prawdopodobnie kolejne ~ 4 godziny rozglądania się – Monklife

+0

ostatnia strona nie drukuje działki –

+0

@ Weihuang Wong Będę bardzo wdzięczny, jeśli możesz mi pomóc w tym pytaniu https: // stackover flow.com/questions/45475249/ggplusplots-on-multiple-pages – aelwan

Powiązane problemy