R作图系列-----ggplot2图层

  • ggplot函数调用基本形式:

ggplot(数据框形式的数据,aes())

p <- ggplot(diamonds, aes(carat,colour = cut))

##这一步只是创建了一个ggplot的对象,还未加入图层,尚且什么也看不见
  • layer(geom, geom_params, stat, stat_params, data, mapping,position)

layer(几何对象,几何变换参数,统计量,统计变换参数,数据,映射,位置调整)

  • 因为几何变换和统计变化是对应的,故只需要+geom_xxx()或者+stat_xxx()图层
p<-p+geom_histogram(binwidth = 0.02,fill="steelblue")$layers
#使用$layers可以查看图形对象的图层
#stat_identity()和geom_point是一组对应
#geom_bar()和stat_bin()
  • 一个完整的ggplot函数包括创建图形对象和添加图层
  • 将图层编辑保存起来,可方便调用
bestfit <- geom_smooth(method = "lm", se = F,
                       colour = alpha("steelblue", 0.5), size = 2)
####半透明深蓝色回归线的图层
p <- ggplot(mtcars, aes(mpg, wt, colour = cyl)) + geom_point()
p
mtcars <- transform(mtcars, mpg = mpg ^ 2)##使用transform函数修改数据框里变量的数据
p %+% mtcars ##更新图形对象里的数据集

使用+aes()可以添加、修改、删除+aes(y=NULL)

  • 分组

##使用分组参数
##忘记时可以使用?geom_line 查看帮助 
p<-ggplot(Oxboys, aes(age, height, group = Subject,colour=Subject))
p+geom_line()

 

##分组参数group的含义就是把data拆成不同的组,最后在图层用相同的方式渲染

 

ggplot(diamonds, aes(carat)) + geom_histogram(aes(y = ..density..), binwidth = 0.1)
##绘制频率密度(纵坐标是频率除组距)直方图

  • 位置调整

 

p <- ggplot(diamonds, aes(clarity,fill=cut))
p+geom_bar()
p + geom_bar(position='stack')##缺省为堆叠

p + geom_bar(position='fill') #fill填充  与堆叠类似,但高度标准化为1

 

library(RColorBrewer)
p <- ggplot(diamonds, aes(clarity,fill=cut)) p+geom_bar() p + geom_bar(position='stack')+scale_fill_brewer(palette="YlOrRd")##等价于palette=18
##palette=16时为右图,个人比较喜欢

 

 

 

增加最后一个设置,得到统一配色

 

章末,文章给出了一个类似计量经济模型的调试过程,没有细看

 

转载于:https://www.cnblogs.com/winda921/p/7617747.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值