R语言绘制不同调色板的日历图2
#EasyCharts团队出品,如有商用必究,
#如需使用与深入学习,请联系微信:EasyCharts
library(ggplot2)
library(data.table) #提供data.table()函数
library(ggTimeSeries)
library(RColorBrewer)
set.seed(1234)
dat <- data.table(
date = seq(as.Date("1/01/2014", "%d/%m/%Y"),as.Date("31/12/2017", "%d/%m/%Y"),"days"),
ValueCol = runif(1461)
)
dat[, ValueCol := ValueCol + (strftime(date,"%u") %in% c(6,7) * runif(1) * 0.75), .I]
dat[, ValueCol := ValueCol + (abs(as.numeric(strftime(date,"%m")) - 6.5)) * runif(1) * 0.75, .I]
dat$Year<- as.integer(strftime(dat$date, '%Y')) #年份
dat$month <- as.integer(strftime(dat$date, '%m')) #月份
dat$week<- as.integer(strftime(dat$date, '%W')) #周数
MonthLabels <- dat[,list(meanWkofYr = mean(week)), by = c('month') ]
MonthLabels$month <-month.abb[MonthLabels$month]
ggplot(data=dat,aes(date=date,fill=ValueCol))+
stat_calendar_heatmap()+
scale_fill_gradientn(colours= rev(brewer.pal(11,'YlOrRd')))+
facet_wrap(~Year, ncol = 1,strip.position = "right")+
scale_y_continuous(breaks=seq(7, 1, -1),labels=c("Mon","Tue","Wed","Thu","Fri","Sat","Sun"))+
scale_x_continuous(breaks = MonthLabels[,meanWkofYr], labels = MonthLabels[, month],expand = c(0, 0)) +
xlab(NULL)+
ylab(NULL)+
theme( panel.background = element_blank(),
panel.border = element_rect(colour="grey60",fill=NA),
strip.background = element_blank(),
strip.text = element_text(size=13,face="plain",color="black"),
axis.line=element_line(colour="black",size=0.25),
axis.title=element_text(size=10,face="plain",color="black"),
axis.text = element_text(size=10,face="plain",color="black"))

ggplot(data=dat,aes(date=date,fill=ValueCol))+
stat_calendar_heatmap()+
scale_fill_gradientn(colours= rev(brewer.pal(11,'YlOrBr')))+
facet_wrap(~Year, ncol = 1,strip.position = "right")+
scale_y_continuous(breaks=seq(7, 1, -1),labels=c("Mon","Tue","Wed","Thu","Fri","Sat","Sun"))+
scale_x_continuous(breaks = MonthLabels[,meanWkofYr], labels = MonthLabels[, month],expand = c(0, 0)) +
xlab(NULL)+
ylab(NULL)+
theme( panel.background = element_blank(),
panel.border = element_rect(colour="grey60",fill=NA),
strip.background = element_blank(),
strip.text = element_text(size=13,face="plain",color="black"),
axis.line=element_line(colour="black",size=0.25),
axis.title=element_text(size=10,face="plain",color="black"),
axis.text = element_text(size=10,face="plain",color="black"))

ggplot(data=dat,aes(date=date,fill=ValueCol))+
stat_calendar_heatmap()+
scale_fill_gradientn(colours= rev(brewer.pal(11,'YlGnBu')))+
facet_wrap(~Year, ncol = 1,strip.position = "right")+
scale_y_continuous(breaks=seq(7, 1, -1),labels=c("Mon","Tue","Wed","Thu","Fri","Sat","Sun"))+
scale_x_continuous(breaks = MonthLabels[,meanWkofYr], labels = MonthLabels[, month],expand = c(0, 0)) +
xlab(NULL)+
ylab(NULL)+
theme( panel.background = element_blank(),
panel.border = element_rect(colour="grey60",fill=NA),
strip.background = element_blank(),
strip.text = element_text(size=13,face="plain",color="black"),
axis.line=element_line(colour="black",size=0.25),
axis.title=element_text(size=10,face="plain",color="black"),
axis.text = element_text(size=10,face="plain",color="black"))

ggplot(data=dat,aes(date=date,fill=ValueCol))+
stat_calendar_heatmap()+
scale_fill_gradientn(colours= rev(brewer.pal(11,'YlGn')))+
facet_wrap(~Year, ncol = 1,strip.position = "right")+
scale_y_continuous(breaks=seq(7, 1, -1),labels=c("Mon","Tue","Wed","Thu","Fri","Sat","Sun"))+
scale_x_continuous(breaks = MonthLabels[,meanWkofYr], labels = MonthLabels[, month],expand = c(0, 0)) +
xlab(NULL)+
ylab(NULL)+
theme( panel.background = element_blank(),
panel.border = element_rect(colour="grey60",fill=NA),
strip.background = element_blank(),
strip.text = element_text(size=13,face="plain",color="black"),
axis.line=element_line(colour="black",size=0.25),
axis.title=element_text(size=10,face="plain",color="black"),
axis.text = element_text(size=10,face="plain",color="black"))

ggplot(data=dat,aes(date=date,fill=ValueCol))+
stat_calendar_heatmap()+
scale_fill_gradientn(colours= rev(brewer.pal(11,'Reds')))+
facet_wrap(~Year, ncol = 1,strip.position = "right")+
scale_y_continuous(breaks=seq(7, 1, -1),labels=c("Mon","Tue","Wed","Thu","Fri","Sat","Sun"))+
scale_x_continuous(breaks = MonthLabels[,meanWkofYr], labels = MonthLabels[, month],expand = c(0, 0)) +
xlab(NULL)+
ylab(NULL)+
theme( panel.background = element_blank(),
panel.border = element_rect(colour="grey60",fill=NA),
strip.background = element_blank(),
strip.text = element_text(size=13,face="plain",color="black"),
axis.line=element_line(colour="black",size=0.25),
axis.title=element_text(size=10,face="plain",color="black"),
axis.text = element_text(size=10,face="plain",color="black"))

ggplot(data=dat,aes(date=date,fill=ValueCol))+
stat_calendar_heatmap()+
scale_fill_gradientn(colours= rev(brewer.pal(11,'PuRd')))+
facet_wrap(~Year, ncol = 1,strip.position = "right")+
scale_y_continuous(breaks=seq(7, 1, -1),labels=c("Mon","Tue","Wed","Thu","Fri","Sat","Sun"))+
scale_x_continuous(breaks = MonthLabels[,meanWkofYr], labels = MonthLabels[, month],expand = c(0, 0)) +
xlab(NULL)+
ylab(NULL)+
theme( panel.background = element_blank(),
panel.border = element_rect(colour="grey60",fill=NA),
strip.background = element_blank(),
strip.text = element_text(size=13,face="plain",color="black"),
axis.line=element_line(colour="black",size=0.25),
axis.title=element_text(size=10,face="plain",color="black"),
axis.text = element_text(size=10,face="plain",color="black"))

ggplot(data=dat,aes(date=date,fill=ValueCol))+
stat_calendar_heatmap()+
scale_fill_gradientn(colours= rev(brewer.pal(11,'PuBuGn')))+
facet_wrap(~Year, ncol = 1,strip.position = "right")+
scale_y_continuous(breaks=seq(7, 1, -1),labels=c("Mon","Tue","Wed","Thu","Fri","Sat","Sun"))+
scale_x_continuous(breaks = MonthLabels[,meanWkofYr], labels = MonthLabels[, month],expand = c(0, 0)) +
xlab(NULL)+
ylab(NULL)+
theme( panel.background = element_blank(),
panel.border = element_rect(colour="grey60",fill=NA),
strip.background = element_blank(),
strip.text = element_text(size=13,face="plain",color="black"),
axis.line=element_line(colour="black",size=0.25),
axis.title=element_text(size=10,face="plain",color="black"),
axis.text = element_text(size=10,face="plain",color="black"))

ggplot(data=dat,aes(date=date,fill=ValueCol))+
stat_calendar_heatmap()+
scale_fill_gradientn(colours= rev(brewer.pal(11,'PuBu')))+
facet_wrap(~Year, ncol = 1,strip.position = "right")+
scale_y_continuous(breaks=seq(7, 1, -1),labels=c("Mon","Tue","Wed","Thu","Fri","Sat","Sun"))+
scale_x_continuous(breaks = MonthLabels[,meanWkofYr], labels = MonthLabels[, month],expand = c(0, 0)) +
xlab(NULL)+
ylab(NULL)+
theme( panel.background = element_blank(),
panel.border = element_rect(colour="grey60",fill=NA),
strip.background = element_blank(),
strip.text = element_text(size=13,face="plain",color="black"),
axis.line=element_line(colour="black",size=0.25),
axis.title=element_text(size=10,face="plain",color="black"),
axis.text = element_text(size=10,face="plain",color="black"))

ggplot(data=dat,aes(date=date,fill=ValueCol))+
stat_calendar_heatmap()+
scale_fill_gradientn(colours= rev(brewer.pal(11,'OrRd')))+
facet_wrap(~Year, ncol = 1,strip.position = "right")+
scale_y_continuous(breaks=seq(7, 1, -1),labels=c("Mon","Tue","Wed","Thu","Fri","Sat","Sun"))+
scale_x_continuous(breaks = MonthLabels[,meanWkofYr], labels = MonthLabels[, month],expand = c(0, 0)) +
xlab(NULL)+
ylab(NULL)+
theme( panel.background = element_blank(),
panel.border = element_rect(colour="grey60",fill=NA),
strip.background = element_blank(),
strip.text = element_text(size=13,face="plain",color="black"),
axis.line=element_line(colour="black",size=0.25),
axis.title=element_text(size=10,face="plain",color="black"),
axis.text = element_text(size=10,face="plain",color="black"))

ggplot(data=dat,aes(date=date,fill=ValueCol))+
stat_calendar_heatmap()+
scale_fill_gradientn(colours= rev(brewer.pal(11,'Greens')))+
facet_wrap(~Year, ncol = 1,strip.position = "right")+
scale_y_continuous(breaks=seq(7, 1, -1),labels=c("Mon","Tue","Wed","Thu","Fri","Sat","Sun"))+
scale_x_continuous(breaks = MonthLabels[,meanWkofYr], labels = MonthLabels[, month],expand = c(0, 0)) +
xlab(NULL)+
ylab(NULL)+
theme( panel.background = element_blank(),
panel.border = element_rect(colour="grey60",fill=NA),
strip.background = element_blank(),
strip.text = element_text(size=13,face="plain",color="black"),
axis.line=element_line(colour="black",size=0.25),
axis.title=element_text(size=10,face="plain",color="black"),
axis.text = element_text(size=10,face="plain",color="black"))

ggplot(data=dat,aes(date=date,fill=ValueCol))+
stat_calendar_heatmap()+
scale_fill_gradientn(colours= rev(brewer.pal(11,'Greys')))+
facet_wrap(~Year, ncol = 1,strip.position = "right")+
scale_y_continuous(breaks=seq(7, 1, -1),labels=c("Mon","Tue","Wed","Thu","Fri","Sat","Sun"))+
scale_x_continuous(breaks = MonthLabels[,meanWkofYr], labels = MonthLabels[, month],expand = c(0, 0)) +
xlab(NULL)+
ylab(NULL)+
theme( panel.background = element_blank(),
panel.border = element_rect(colour="grey60",fill=NA),
strip.background = element_blank(),
strip.text = element_text(size=13,face="plain",color="black"),
axis.line=element_line(colour="black",size=0.25),
axis.title=element_text(size=10,face="plain",color="black"),
axis.text = element_text(size=10,face="plain",color="black"))

ggplot(data=dat,aes(date=date,fill=ValueCol))+
stat_calendar_heatmap()+
scale_fill_gradientn(colours= rev(brewer.pal(11,'GnBu')))+
facet_wrap(~Year, ncol = 1,strip.position = "right")+
scale_y_continuous(breaks=seq(7, 1, -1),labels=c("Mon","Tue","Wed","Thu","Fri","Sat","Sun"))+
scale_x_continuous(breaks = MonthLabels[,meanWkofYr], labels = MonthLabels[, month],expand = c(0, 0)) +
xlab(NULL)+
ylab(NULL)+
theme( panel.background = element_blank(),
panel.border = element_rect(colour="grey60",fill=NA),
strip.background = element_blank(),
strip.text = element_text(size=13,face="plain",color="black"),
axis.line=element_line(colour="black",size=0.25),
axis.title=element_text(size=10,face="plain",color="black"),
axis.text = element_text(size=10,face="plain",color="black"))

ggplot(data=dat,aes(date=date,fill=ValueCol))+
stat_calendar_heatmap()+
scale_fill_gradientn(colours= rev(brewer.pal(11,'BuGn')))+
facet_wrap(~Year, ncol = 1,strip.position = "right")+
scale_y_continuous(breaks=seq(7, 1, -1),labels=c("Mon","Tue","Wed","Thu","Fri","Sat","Sun"))+
scale_x_continuous(breaks = MonthLabels[,meanWkofYr], labels = MonthLabels[, month],expand = c(0, 0)) +
xlab(NULL)+
ylab(NULL)+
theme( panel.background = element_blank(),
panel.border = element_rect(colour="grey60",fill=NA),
strip.background = element_blank(),
strip.text = element_text(size=13,face="plain",color="black"),
axis.line=element_line(colour="black",size=0.25),
axis.title=element_text(size=10,face="plain",color="black"),
axis.text = element_text(size=10,face="plain",color="black"))

ggplot(data=dat,aes(date=date,fill=ValueCol))+
stat_calendar_heatmap()+
scale_fill_gradientn(colours= rev(brewer.pal(11,'Blues')))+
facet_wrap(~Year, ncol = 1,strip.position = "right")+
scale_y_continuous(breaks=seq(7, 1, -1),labels=c("Mon","Tue","Wed","Thu","Fri","Sat","Sun"))+
scale_x_continuous(breaks = MonthLabels[,meanWkofYr], labels = MonthLabels[, month],expand = c(0, 0)) +
xlab(NULL)+
ylab(NULL)+
theme( panel.background = element_blank(),
panel.border = element_rect(colour="grey60",fill=NA),
strip.background = element_blank(),
strip.text = element_text(size=13,face="plain",color="black"),
axis.line=element_line(colour="black",size=0.25),
axis.title=element_text(size=10,face="plain",color="black"),
axis.text = element_text(size=10,face="plain",color="black"))

开发工具:RStudio与微信截屏工具
- 点赞
- 收藏
- 关注作者
评论(0)