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

时间:2020-07-30 18:33:58

标签: r dataframe pdf ggplot2 geom

是否有一种方法可以将所有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)

1 个答案:

答案 0 :(得分:1)

对于您的数据,可以保存图表,然后使用pdf。如果您有很多地块,则最好使用地块创建一个列表并将其导出。此处为您的绘图代码(可以使用pdf的height和width参数):

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()