![9b7997549f6ba124aede9c84c416ba03.png](https://i-blog.csdnimg.cn/blog_migrate/cce2d2263f01571702eab0f0d6ad66f3.jpeg)
此文就作为ggplot2内容的最后收尾,不过ggplot2的内容是非常多,且其中有很多有趣的可视化功能,以后有时间定会继续与大家分享。回忆一下之前的内容,大概主要介绍了ggplot2的绘图原理、几何类型、重要的标度概念及其定义,那剩下的内容我们就看看关于ggplot2的布局。
一、分面
所谓的分面,简单地理解就是将数据集按照某些变量划分成各小部分的数据子集,然后再使用绘图函数实现各数据子集的可视化。而ggplot2提供了两种分面类型:网格型(facet_grid)和封装型(facet_wrap)。网格分面生成的是一个2维的面板网格,面板的行与列通过变量来定义;封装分面则先生成一个1维的面板条块,然后再封装到2位中。分面系统有两个基本参数:一个是分面变量的设置,另一个是指定分面的位置标度是全局还是局部。
![031c7fa99f7a7ba3a87b50f1ce926b2b.png](https://i-blog.csdnimg.cn/blog_migrate/252b97a546e2e3c914a2bb134af1362d.jpeg)
1、网格分面
在使用网格分面时,需要输入分面表达式,设定那些变量作为分面的行,那些变量作为列具体使用方法如下:
·不进行分面,不使用facet_grid()函数或者使用facet_null(),此时我们就只会得到一个单独的面板。
qplot(cty,hwy,data = mpg)+facet_null()
![2aee5be785a35e04778b9cfb5609cc14.png](https://i-blog.csdnimg.cn/blog_migrate/5822ea673f3e869d938e664ff0bfa0a8.jpeg)
·一行多列:“.~a”表示按照变量a的不同取值,将数据集分成各部分,并且按行的方向对各数据集实现可视化,
# 按照变量cyl以行进行分面
qplot(cty,hwy,data=mpg)+facet_grid(.~cyl)
![34a954894ee6bea7e28fc8e0f574ac34.png](https://i-blog.csdnimg.cn/blog_migrate/5037e331943e3c5c5324edff2e1f00bf.jpeg)
·一列多行:“b~.”与上面的相反,按列绘制图形。
# 按照变量cyl以列进行分面
qplot(cty,data=mpg,geom="histogram&