R语言:calendarHeat日历图(PM2.5)

作者介绍:

周甜,北京大学硕士研究生,高级分析师,主要从事环保数据分析,擅长于污染溯源和PM2.5源解析,知乎id:周小甜。

当你拿到多年的一个空气质量数据,或者气候数据的时候,你想很清晰直观的看到每日的变化,那么最适合你的方法就是采用“日历图”来画出像日历一样的直观图。

本文采用的是2014年10月~2017年12月某市的PM2.5的日均浓度数据,展示的结果如封面所示。

1. 加载包和calendarHeat函数来源

library(lattice)
library(grid)
library(chron)
###calendarHeat来源有两种方法,均可以
##方法一
source("https://raw.githubusercontent.com/iascchen/VisHealth/master/R/calendarHeat.R")
##方法二
library(httr)
cat(content(GET("https://raw.githubusercontent.com/iascchen/VisHealth/master/R/calendarHeat.R"), "text"), file="calendarHeat.R")
source("calendarHeat.R")

2. 导入csv数据

我的数据来源4年的空气质量数据,主要为PM2.5。

R语言:calendarHeat日历图(PM2.5)_第1张图片

fig1. csv文件示例数据

mydata = read.csv("calendarHeat.csv", header = TRUE)
mydata$date <- as.POSIXct(strptime(mydata$date, format = "%Y-%m-%d", 
                                   tz = "GMT"))
head(mydata)

2. 日历图

采用calendarHeat方法,画出2014~2017年PM2.5的日均浓度变化图

calendarHeat(dates = mydata$date,values = mydata$pm25,
             color = "g2r",
             varname = "PM2.5日变化")

R语言:calendarHeat日历图(PM2.5)_第2张图片

fig2. PM2.5日变化浓度图

3. 疑问和改进

本图也存在一些疑问点,希望有人能够帮助回答,谢谢!希望一起学习。

  1. 如何修改右边scale的大小范围?

  2. 如何在scale上加上header和footer?

  3. 左侧的Sunday到Saturday,能够转换成“周日~周六”的中文文字吗?


  欢迎大家一起来学习和讨论~~~

你可能感兴趣的:(R语言:calendarHeat日历图(PM2.5))