library(ggplot2)###载入ggplot2包
library(ggthemes)###主题包,我常用theme_few
library(ggpubr)###使用stat_cor函数,计算P值和R²,stat_regline_equation函数调整位置
library(showtext)###使用字体替换默认字体,使得导出的PDF能够完整显示,更便于进入AI编辑
library(openxlsx)###加载xlsx包,能够正常读excel
library(gglmannotate)

mydata <- openxlsx::read.xlsx("E:\\\\R\\\\R working directory\\\\成都市大气污染物平均值.xlsx",sheet=1,detectDates = TRUE)###读取数据,保证日期序列

showtext_auto() ###自动加载PDF中能够显示的字体
rq <- as.Date(mydata$date)

p1 <- ggplot(data=mydata,aes(x=rq,y=CO))+
  geom_point(position = "jitter",color="gray70",pch=19,size=1)+###19号最圆
  geom_smooth(method = lm,formula=y~x,se=TRUE,fill="#69b3a2",level=0.95,color="#e9546b")+###se表示是否显示置信区间,level为置信度
  scale_x_date(date_breaks = "1 year", date_labels = "%Y")+###控制横坐标间隔,此处是时间序列显示的应用
  scale_y_continuous(breaks=seq(0, 3, 0.5))+ ###控制纵坐标间隔
  ylab(expression(CO(ug/m^3)))+xlab("年份")+###单独加标签,与下面黄色部分形成对比,下面是直接加标签。expression可以使用上下标,例如m^3=m³,m[3]=m₃
  theme_few()+###使用主题,可以用base_family改变字体
  geom_lmannotate()

p2 <- ggplot(data=mydata,aes(x=rq,y=O3))+
  geom_point(position = "jitter",color="gray70",pch=19,size=1)+###19号最圆
  geom_smooth(method = lm,formula=y~x,se=TRUE,fill="#69b3a2",level=0.95,color="#e9546b")+###se表示是否显示置信区间,level为置信度
  scale_x_date(date_breaks = "1 year", date_labels = "%Y")+###控制横坐标间隔,此处是时间序列显示的应用
  scale_y_continuous(limits=c(0,150), breaks=seq(0, 150, 30))+ ###控制纵坐标间隔
  ylab(expression(NO[2](mg/m^3)))+xlab("年份")+###单独加标签,与下面黄色部分形成对比,下面是直接加标签。expression可以使用上下标,例如m^3=m³,m[3]=m₃
  theme_few()+###使用主题,可以用base_family改变字体
  geom_lmannotate()

p3 <- ggplot(data=mydata,aes(x=rq,y=O3))+
  geom_point(position = "jitter",color="gray70",pch=19,size=1)+###19号最圆
  geom_smooth(method = lm,formula=y~x,se=TRUE,fill="#69b3a2",level=0.95,color="#e9546b")+###se表示是否显示置信区间,level为置信度
  scale_x_date(date_breaks = "1 year", date_labels = "%Y")+###控制横坐标间隔,此处是时间序列显示的应用
  scale_y_continuous(limits=c(0,155),breaks=seq(0, 150, 30))+ ###控制纵坐标间隔
  ylab(expression(O[3](ug/m^3)))+xlab("年份")+###单独加标签,与下面黄色部分形成对比,下面是直接加标签。expression可以使用上下标,例如m^3=m³,m[3]=m₃
  theme_few()+###使用主题,可以用base_family改变字体
  geom_lmannotate()

p4 <- ggplot(data=mydata,aes(x=rq,y=PM10))+
  geom_point(position = "jitter",color="gray70",pch=19,size=1)+###19号最圆
  geom_smooth(method = lm,formula=y~x,se=TRUE,fill="#69b3a2",level=0.95,color="#e9546b")+###se表示是否显示置信区间,level为置信度
  scale_x_date(date_breaks = "1 year", date_labels = "%Y")+###控制横坐标间隔,此处是时间序列显示的应用
  scale_y_continuous(limits=c(0,420),breaks=seq(0, 400, 100))+ ###控制纵坐标间隔
  ylab(expression(PM[10](ug/m^3)))+xlab("年份")+###单独加标签,与下面黄色部分形成对比,下面是直接加标签。expression可以使用上下标,例如m^3=m³,m[3]=m₃
  theme_few()+###使用主题,可以用base_family改变字体
  geom_lmannotate()

p5 <- ggplot(data=mydata,aes(x=rq,y=PM2.5))+
  geom_point(position = "jitter",color="gray70",pch=19,size=1)+###19号最圆
  geom_smooth(method = lm,formula=y~x,se=TRUE,fill="#69b3a2",level=0.95,color="#e9546b")+###se表示是否显示置信区间,level为置信度
  scale_x_date(date_breaks = "1 year", date_labels = "%Y")+###控制横坐标间隔,此处是时间序列显示的应用
  scale_y_continuous(limits=c(0,300),breaks=seq(0, 300, 100))+ ###控制纵坐标间隔
  ylab(expression(PM[2.5](ug/m^3)))+xlab("年份")+###单独加标签,与下面黄色部分形成对比,下面是直接加标签。expression可以使用上下标,例如m^3=m³,m[3]=m₃
  theme_few()+###使用主题,可以用base_family改变字体
  geom_lmannotate()

p6 <- ggplot(data=mydata,aes(x=rq,y=SO2))+
  geom_point(position = "jitter",color="gray70",pch=19,size=1)+###19号最圆
  geom_smooth(method = lm,formula=y~x,se=TRUE,fill="#69b3a2",level=0.95,color="#e9546b")+###se表示是否显示置信区间,level为置信度
  scale_x_date(date_breaks = "1 year", date_labels = "%Y")+###控制横坐标间隔,此处是时间序列显示的应用
  scale_y_continuous(limits=c(0,42),breaks=seq(0, 40, 10))+ ###控制纵坐标间隔
  ylab(expression(SO[2](ug/m^3)))+xlab("年份")+###单独加标签,与下面黄色部分形成对比,下面是直接加标签。expression可以使用上下标,例如m^3=m³,m[3]=m₃
  theme_few()+###使用主题,可以用base_family改变字体
  geom_lmannotate()

library(easyGgplot2)
ggplot2.multiplot(p1,p2,p3,p4,p5,p6, cols=2)