ggplot2日期时间标度的设置

之前做了几次用时间做x轴的图,但是标度设置总是不尽如人意,今天中午一时兴起就仿照之前一篇关于一次数据分析大赛的推送中的图做了一幅图,在我查阅了ggplot2的帮助文件之后终于做成功了。

我是想做一幅横轴为日期,纵轴为刷卡进入厦大图书馆的人次的图,代码如下
menjin <- read.csv("menjin.csv",header = T,stringsAsFactors = F)
menjin$grade <- substring(menjin$studentcode,4,7)
menjin$date <-
sapply(strsplit(menjin$VisitTime,split =" "),function(x)x[1])
menjin$weekday <- as.POSIXlt(menjin$VisitTime,format = "%Y/%m/%d %H:%M")$wday
menjin$isWeekend <- ifelse(menjin$weekday == 0 | menjin$weekday == 6,1,0)
menjin$date <- as.Date(menjin$date,"%Y/%m/%d")
library(ggplot2)
qplot(date,data = menjin[menjin$grade == "2014",],geom = "bar",
fill = as.factor(1 - isWeekend)) +
theme(axis.text.x = element_text(angle = 90)) +
labs(x = "日期",y = "入馆人次",title = "经济学院2014级2014-2015年度入馆人次") +
scale_x_date(date_breaks = "1 month") + theme(legend.position = "none")

ggplot2日期时间标度的设置_第1张图片

之前看的ggplot2一书中并没有详细解释scale_x_date()函数的用法,查阅帮助文档即可发现,要想设置一个月为间隔应该使用scale_x_date(date_breaks = "1 month")而不是我之前想的breaks参数

你可能感兴趣的:(R语言)