《ggplot2-EGDA》 -chapter4-ggplot2里图层的概览

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《ggplot2-EGDA》 -chapter4-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")

 

技术分享

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

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 






以上是关于《ggplot2-EGDA》 -chapter4-ggplot2里图层的概览的主要内容,如果未能解决你的问题,请参考以下文章