ggplot2高级绘图(一)
作者:林元震
主要内容
- 简介
- 基础语法
- 常见图形绘制
- 高级参数设置
参考资料
- 林元震主编.《R与ASReml-R统计学》.2016
- 林元震,陈晓阳主编.《R与ASReml-R统计分析教程》.2014
- 统计之都 译.ggplot2:数据分析与图形艺术.2013
- Winston Chang著.《R数据可视化手册》.2014
1 简介
- Hadley Wickham于2005年创建;
- 于2012年4月进行了重大更新,最新版本为3.0.0(2018); 作者的工作是重写代码,简化语法,方便用户开发和使用;
- 邮件订阅:http://groups.google.com/group/ggplot2/boxsubscribe?email=abc@abc.com
2 基础语法
- 数据data和映射Mapping
- 标度Scale
- 几何对象Geom
- 统计变换Stat
- 坐标系统Coord
- 图层Layer
分面Facet
下文将采用本人主编教材《R与ASReml-R统计学》中的数据集dfm,演示ggpot2如何绘制部分常见图形。数据集程序包RSTAT2D可以在网站(http://yzhlin-asreml.ys168.com/)免费下载免费下载)。
2.1 数据data和映射Mapping
通过ggplot创建图形对象,通过summary()查看图形内容。
|
|
summary(p)结果显示,数据data:一个含有13个变量的数据集[827x13],映射Mpaping:将变量h5映射给x,将变量h3映射给y。
2.2 图层Layer
添加“点”几何对象
|
|
左图为p,是空的,即有数据和变量映射,没有任何几何对象。右图为添加散点的几何图形。
3 绘制常见图
- 密度曲线density plot
- 直方图histogram
- 散点图 scatt point
- 二维密度图
3.1 密度曲线density plot
ggplot2中密度图的基础绘图方法如下:
ggplot(data, aes(x=))+geom_density()+facet_grid()
其中data代表数据集,aes代表数据映射,x代表连续型变量,geom_density代表几何对象为密度函数,facet_grid代表分面。
|
|
注:theme.1是绘图主要设置,请见本文的最后部分。
###添加填充颜色fill,透明度alpha。
|
|
注:()的作用是让生成的图形直接输出。
为颜色参数colour和fill分别指定映射变量Spacing。
|
|
可以看出,colour和fill都是颜色参数,但前者指定边界颜色,后者指定区域填充颜色。
添加分面
|
|
3.2 直方图 histogram
ggplot2中直方图的基础绘图方法如下:
ggplot(data, aes(x=))+geom_histogram()+facet_grid()
其中data代表数据集,aes代表数据映射,x代表连续型变量,geom_histogram代表直方图,facet_grid代表分面。
|
|
添加图形参数binwidth,fill和colour。
|
|
binwidth控制组间距,fill和colour作用同上。
添加分面
|
|
参数scales作用是让坐标轴标度根据图形自行调整合适空间。
添加变量映射fill,按Spacing给定不同填空颜色。
|
|
position=“identity”,保留数据的原始位置,不做任何调整。
将直方图和密度图合在一起
|
|
3.3 散点图scatter plot
ggplot2中散点图的基础绘图方法如下:
ggplot(data, aes(x=, y=))+geom_point()+facet_grid()
其中data代表数据集,aes代表数据映射,x代表连续型变量,y代表连续型变量,geom_point代表散点图,facet_grid代表分面。
|
|
通过图形参数指定点的大小size。
添加映射变量size和colour
|
|
size根据h5值调整数据点大小,colour控制点的颜色按照Spacing显示。注意与上一图的区别。
添加映射变量fill和shape
|
|
将h5数据分割成两部分
|
|
注意:数据集dfm已经发生变化,多了h5G变量,因此需要用%+%来添加新的数据集dfm。
添加分面与回归线和置性区
|
|
3.4 二维密度图
ggplot2中二维密度图的绘图方法如下:
ggplot(data, aes(x=,y=))+ geom_density2d()+facet_grid()
其中data代表数据集,aes代表数据映射,x、y代表连续型变量,geom_density2d代表几何对象为二维密度图,facet_grid代表分面。
|
|
图中仅有线条,未能更好地了解树高h3和木材密度wd之间的具体关系,这时可以加上填充颜色。
|
|
虽然有了填充色,但色差不明显,也不便于两性状之间的关系,因此可以设定色差显著的填充色。
|
|
从图可知,在种植密度S2,密度wd主要分布在树高h3的(250-300)区间,而且变异幅度(0.35-0.4)比较大,而在种植密度S3,密度wd基本集中在中心,而且变异幅度(0.36-0.38)较小。
绘图主题设置
|
|
下一讲,将介绍绘图参数的设置。
* 坐标轴
* 添加注释
* 图形图例
* 图形配色
* 图形输出