R语言数据可视化1—ggplot2画柱状图
目的:将已有的业务表(csv格式),导入到Rstudio中。根据“开始时间”,按月份统计出业务量。画出下图。(注:我选择的业务表中只有1、2、3月的数据)
开始吧!!!
1.加载csv格式的数据表,并查看字段名:
##加载数据
khsx<-read.csv("khsx.csv",header =TRUE)
names(khsx)##查看列名
2.加载将要使用的包
##加载包
library(ggplot2) ##画图用的包
library(lubridate) ##提取时间
字段月份的包
library(ggthemes) ##样式主题包
3.数据整合,统计出作图的数据集
##根据月份统计业务量
len<-aggregate(开始时间~factor(month(开始时间)),khsx,length)
##重命名数据框"len"的列名称。
names(len)[1:2]<-c("月份","业务量")
4.作图
##画图
ggplot(len,aes(月份,业务量,fill=月份))+##ggplot2的数据层和映射层(单有此层无图)
geom_bar(position="dodge",stat ="identity",width =0.5)+##ggplot2的几何图像层(至少要到这一层)
theme_economist() ##ggplot2的主题层
上面代码解释:在ggplot2中, 所接受的数据集必须为数据框(data.frame)格式, 如上面的"len"数据集,aes(行,列,fill=月份),fill部分为按月份填充默认颜色。
通过 "+"号来连接图层。geom_bar表示画柱状图,position = "dodge"意思为将柱子并列放置,stat是指统计变换;stat='identity'是指不进行统计变换即业务量就是纵。
结束!!!
所使用包的知识讲解:
1.处理时间字段
提取月份,日,年份数字使用了lubridate包
1library(lubridate)2d<-c("2012-1-10","2013-5-9","2014-6-25")3year(d)4month(d)5day(d)