在 R 中的单个 pdf 文档中保存多个 ggplot?

saving multiple ggplot in a single pdf documents in R?

有没有办法将所有 plots 保存为一个 pdf 文档

library(tidyverse)
library(lubridate)

set.seed(123)

DF1 <- data.frame(Date = seq(as.Date("2001-01-01"), to= as.Date("2003-12-31"), by="day"),
                  A = runif(1095, 0,10),
                  D = runif(1095,5,15))
DF1 %>% pivot_longer(names_to = "Variable", values_to = "Value", -Date) %>% 
  ggplot(aes(x = Date, y = Value))+
  geom_line()+
  facet_wrap(~Variable)+
  ggsave("Plot1.pdf", dpi = 200, height = 6, width = 8)


DF2 <- data.frame(Date = seq(as.Date("2005-03-01"), to= as.Date("2005-05-31"), by="day"),
                  Z = runif(92, 0,10))

DF2 %>% ggplot(aes(x = Date, y = Z))+
  geom_line()+
  ggsave("Plot2.pdf", dpi = 200, height = 6, width = 8)

对于您的数据,您可以保存绘图然后使用 pdf。如果你有很多地块,最好创建一个包含这些地块的列表并导出它们。这是您的绘图代码(您可以使用 pdf 的高度和宽度参数):

library(tidyverse)
library(lubridate)

set.seed(123)

DF1 <- data.frame(Date = seq(as.Date("2001-01-01"), to= as.Date("2003-12-31"), by="day"),
                  A = runif(1095, 0,10),
                  D = runif(1095,5,15))
DF1 %>% pivot_longer(names_to = "Variable", values_to = "Value", -Date) %>% 
  ggplot(aes(x = Date, y = Value))+
  geom_line()+
  facet_wrap(~Variable) -> G1

DF2 <- data.frame(Date = seq(as.Date("2005-03-01"), to= as.Date("2005-05-31"), by="day"),
                  Z = runif(92, 0,10))

DF2 %>% ggplot(aes(x = Date, y = Z))+
  geom_line()->G2
#Export
pdf('Yourfile.pdf',height = 6, width = 8)
plot(G1)
plot(G2)
dev.off()