主要内容:R语言绘制时序图时,自定义设置x轴时间刻度为天/周/月
数据介绍:北京市2020年5月1日至2020年7月31日空气环境质量指数
plot函数绘制
主要思想:删除原有标签,自定义新的时间间隔数据即可
1、设置x轴时间间隔为一周
data<-read.csv('aqi_data.csv')
data$date<-as.Date(data$date)
x_label<-seq(from=as.Date("2020-05-01"),to=as.Date("2020-07-31"),by=7) #生成新的标签
par(mgp=c(3,0.5,0)) #调整x轴坐标轴与标签距离
plot(data$date,
data$AQI,
xlab='',
xaxt='n', #删除原有标签
ylab='AQI',
type='l',
main='2020年5月1日-7月31日北京市AQI变化趋势')
axis(1,x_label,format(x_label,"%Y-%m-%d"),las=2) #添加新的标签至坐标轴,las可旋转标签
2、设置x轴时间间隔为两周
修改by=14即可,注意时间如果不够14天的话,并不会以2020年7月31日为结束日期。因此,为标签显示的连续性,加上最后一天
x_label<-c(seq(from=as.Date("2020-05-01"),to=as.Date("2020-07-31"),by=14),"2020-07-31")
par(mgp=c(3,0.5,0))
plot(data$date,
data$AQI,
xlab='',
xaxt='n',
ylab='AQI',
type='l',
main='2020年5月1日-7月31日北京市AQI变化趋势')
axis(1,x_label,format(x_label,"%Y-%m-%d"),las=2)
注:若想X轴标签只显示到月,对%Y-%m-%d
进行修改即可(Y-年,m-月,d-天)
ggplot函数绘制
ggplot修改方式较为简单,只需修改scale_x_date(date_breaks = "7 days")
即可实现任意时间间隔,前提是x轴变量必须是日期型!
library(ggplot2)
data$date<-as.Date(data$date)
ggplot(data,aes(x=date,y=AQI,color='AQI'))+
geom_line(size=1)+
scale_x_date(date_breaks = "7 days")+
labs(x='',y='',title='2020年5月1日-7月31日北京市AQI变化趋势')+
theme(plot.title = element_text(face="plain",size=10,hjust=0.5),
axis.title.x = element_blank(),
axis.title.y = element_text(size=10),
axis.text.x = element_text(angle = 90,size=10),
axis.text.y = element_text(size=10),
legend.title=element_blank(),
legend.text=element_text(size=10))
总结:两种绘图方式都必须先将x轴变量转为日期型,字符型哒咩