我做我的數據的探索性分析和多頁的多個圖形需要繪製使用ggplot多個圖形。圖形的數量真的很大(206站),並且我想要在他們需要的很多頁面上將它們繪製成1列而每頁8行。我知道像viewport或grid.arrange這樣的函數,但我並沒有設法使它們在這種情況下工作。我已經注意到,佈局(),也不面值(mfrow = C(8,1))不ggplot工作,但我派我在哪裏卡住波紋管代碼的一部分。任何幫助將非常感激!在使用ggplot
pdf('test.pdf', width=21, height=27)
par(mfrow=c(8,1))
for(i in levels(tab$Station))
{
print(ggplot(tab[tab$Station==i], aes(x=Date)) +
geom_line(aes(y=Tmin), col="blue", size=0.1) +
geom_line(aes(y=Tmax), col="red", size=0.1) +
geom_text(aes(x=as.Date('2010-01-01'), y=45), label=i) +
ylim(0, 45) +
scale_x_date(labels = date_format("%Y")) +
theme_bw() +
theme(
plot.background = element_blank()
,panel.grid.major = element_blank()
,panel.grid.minor = element_blank()
,panel.border = element_rect(color = 'black')
,panel.background = element_blank()
)
)
}
dev.off()
何塞嗨,你能不能使之成爲一個可重複的例子嗎?這通常意味着提供玩具數據,以便我們可以抓住代碼並運行它。大多數情況下,人們使用'data()'函數來執行此操作。例如'data(mtcars)'將'mtcars' data.frame加載到內存中。 – Statwonk
@baptiste的答案是否奏效? –
我知道這是一個老問題 - 但嘗試使用ggforce包中的facet_wrap_paginate函數。看到這裏的幫助https://cran.r-project.org/web/packages/ggforce/ggforce.pdf這就是我解決我的類似問題。 –