在前两期我们介绍了如何利用R的相关函数,构建扩增子分析中的相关图形。然而R语言的强大之处还在于其包含各种高级统计绘图包,如ggplot2等。ggplot2是用于绘图的R语言扩展包,其将绘图视为一种映射,即从数学空间映射到图形元素空间。利用ggplot2绘制图形具有结构简单,易于学习以及图形美观等优点。
ggplot2主要包括数据映射,标度,几何对象,统计变换,坐标系统和图层六大基本概念。下面从具体实例中来体现这六个基本概念。
基本概念
:将数据中的变量映射到图形属性,映射控制了二者之间的关系(见图1);
图1 数据和映射
绘图实例:
library(ggplot2)
head(diamonds)
#映射x为carat,y为price(图2a)
p
p + geom_point()
#映射x为carat,y为price, 点的形状为cut (图2b)
p
p+geom_point()
#映射x为carat,y为price, 点的形状为cut, 点的颜色为color(图2c)
p
p+geom_point()
图2 数据映射图形实例
指在图中实际看到的图形元素,如点、线、多边形等(见图3);
图3 几何对象
基本概念
:标度负责控制映射后图形属性的显示方式。具体形式上来看是图例和坐标刻度,它和mapping是紧密相关的概念(见图4)。
图4 标度
绘图实例
:
#映射x为carat,y为price, 点的形状为cut, 点的颜色为color(图5a);
p
#标尺(scale),在对图形属性进行映射之后,使用标尺可以控制这些属性的显示方式,比如坐标刻度,可以通过标尺,将坐标进行对数变换;比如颜色属性,也可以通过标尺,进行改变(图5b);
p+geom_point() + scale_colour_manual(values=rainbow(7)) +scale_y_log10()
图 5 标度图形实例
基本概念
:对原始数据进行某种计算,例如对二元散点图加上一条回归线(见图6);
图6 统计变换
绘图实例
:
#映射x为carat,y为price, 点的形状为cut, 点的颜色为color(图7a)
p
#统计变换(Statistics), 统计变换对原始数据进行某种计算,然后在图上表示出来,例如对散点图上加一条回归线(图7b);
p+geom_point()+scale_y_log10()+stat_smooth()
图7 统计变换图形实例
基本概念
:控制坐标轴并影响所有图形元素,坐标轴可以进行变换以满足不同的需要(见图8);