第一章 R绘图简介
R的图形绘制模式遵循“画家模型”,即逐步绘制图形元素,在当前已绘制图形的基础上添加后续元素。
1.1 R绘图示例
1.1.1 标准绘图
R提供了标准统计图形所囊括的通用工具,包括散点图
、箱线图
、直方图
、条形图
、饼图
以及基本的三维图形
,这些基本的绘图类型可以通过一个简单的函数调用绘制,这些图形也可以被视为绘制更复杂图形的起点。
在基本图形单元的基础上添加更多图形元素进而绘制出最后的完整图形是R的基本特征。
关于标准绘图更详细的内容将在后面的第2、3章。
1.1.2 框架图
除了基础的统计绘图,R还通过lattice包实现了绘制框架图(trellis plots)。
框架图包含了大量的设计原则,确保通过统计图形准确而忠实地传递数据背后的信息,这些原则贯穿于大量新型绘图类型、默认颜色、符号形状以及线条样式的选择中。
框架图还提供一项特性:“
条件多框图
”,其将数据按其他因子的水平分割成数据的不同子集,并按子集逐个绘制出一个多框统计图形,框图上方用一个条带
显示子集的名称。
更多关于框架图的介绍以及如何利用lattice包绘制框架图的内容参照后面的第4章。
1.1.3 绘图语法
ggplot2包提供了另一个完全不同的绘图范式来绘制统计图形。
它可以通过一组相对较小的基础图形元素集合绘制出大量不同种类的统计图形。
ggplot2包还有一个被称为
分面
的特性,该特性类似于lattice包的多框架图。
更多关于ggplot2包的内容参见后面的第5章。
1.1.4 绘制专门的图形
R还提供了绘制单一图形单元的函数,例如线段、文本、矩形以及多边形,这为用户定义自己的函数去创建更多专业领域的图形提供了便利。
1.1.5 绘图背景综述
R绘图功能的通用性和灵活性:
R可以将文本以表格样式组织起来作为图形元素嵌入图形中(e.g. meta分析典型结果)。
R可以绘制用于辅助可视化方式演示重要概念和教学要点的图形。
1.2 R绘图系统的组织结构
在R绘图工具库中占据核心地位的是grDevices包,也可以被称为绘图引擎。
在绘图引擎的基础上直接搭建了两个包:graphics包和grid包。这两个包代表着两个巨大的不相容的绘图系统
,并将R的绘图功能从主体上分割成了两个不同的部分。
graphics包,也被称为
基础绘图系统
,提供了创建一系列丰富的通用图形要用到的完整函数。grid包,并没有提供绘制完整图形的函数,但人们广泛使用基于grid所开发的绘图包中的函数,特别是
lattice包
和ggplot2包
。
基础绘图与grid绘图
R中存在两个不同的绘图系统:基础绘图系统
和grid绘图系统
。如何选择?
总结:grid绘图系统通常会被优先使用,它能够提供更多有效并且复杂精细的选项,并且在创建新的绘图函数供他人使用时,也提供了比基础绘图系统更好地支持,但是基于grid的绘图系统速度明显慢于基础绘图系统。