2012-10-15 10 views
12

Podczas używania funkcji pdf() w R do zapisywania wykresu w pliku zewnętrznym, możemy określić width i/lub height, aby dostosować rozmiar wydruku. Są jednak sytuacje, w których uzyskujemy wiele wykresów (np. Za pomocą par(mfrow=c(2,4))). W tej sytuacji trudno jest określić, który plik jest najlepszy dla pliku PDF, aby wszystkie wydruki były poprawnie wyświetlane. Czy istnieje sposób, aby R automatycznie "pasował do działek" w pliku PDF? Przeszukałem argumenty w pdf() i próbowałem niektórych, ale wyniki nie są zadowalające. Dziękuję Ci bardzo!automatycznie dostosowuje rozmiar wydruku R w pliku PDF

+2

Wydaje się, że to niemożliwie niejasne. Jak określić "najlepszą" szerokość i wysokość? –

+0

@DWin: przepraszam za zamieszanie. mam na myśli "najlepsze" to to, że wszystkie części działek są widoczne dla czytelników i nie będzie żadnego "odcięcia" z powodu ograniczeń rozmiaru papieru (takich jak A4). – alittleboy

+0

O ile mi wiadomo, nie ma możliwości zmiany rozmiarów poszczególnych stron w urządzeniu pdf. Większość ludzi produkuje różne pliki PDF o różnej wielkości i używa Ghostscript, aby trzymać razem oddzielne strony. –

Odpowiedz

2

Co powiesz na coś, używając ggplot?

require(ggplot2) 

# Bogus data 
x <- rnorm(10000) 
y <- as.factor(round(rnorm(10000, mean=10, sd=2), 0)) 
df <- data.frame(vals=x, factors=y) 

myplot <- ggplot(data=df, aes(x=vals)) + 
    geom_density() + 
    facet_wrap(~ factors) 

ggsave(filename="~/foo.pdf", plot=myplot, width=8, height=10, units="in") 

EDIT: Jeżeli chcesz drukować na wielu stronach, zobacz this question.

+0

Dziękuję bardzo za kody! – alittleboy