16.1 R中的四种图形系统

如前所述,R中有四种主要的图形系统。其中基础图形系统由Ross Ihaka编写,每个R都默认安装,之前几章中的大部分图形都是依赖于基础图形函数创建的。

grid图形系统由Paul Murrell(2006)编写,可通过grid包安装执行。grid图形提供了一种比标准图形系统更低水平的方法。用户可以在图形设备上随意创建矩形区域,在该区域定义坐标系统,然后使用一系列丰富的绘图基础单元来控制图形元素的摆放和外观。

grid图形的灵活性对于软件开发者是非常有价值的,但是grid包没有提供生成统计图形以及完整绘图的函数。因此,数据分析师很少直接采用grid包来分析数据。

lattice包由Deepayan Sarkar(2008)编写,可绘制Cleveland(1985,1993)所描述的栅栏图形,具体描述可参见Trellis网站(http://netlib.bell-labs.com/cm/ms/departments/sia/project/trellis/)。基于grid包,lattice包对多元数据的可视化功能已经远超Cleveland的原始方法,它为R提供了一种全面的、创建统计图形的备选系统。

ggplot2包由Hadley Wickham(2009a)编写,它提供了一种基于Wilkinson(2005)所描述的图形语法的图形系统,Wickham(2009b)还对该语法进行了扩展。ggplot2包的目标是提供一个全面的、基于语法的、连贯一致的图形生成系统,允许用户创建新颖的、有创新性的数据可视化图形。

四种系统的载入方式有所不同,见表16-1。基础图形函数可自动调用,而gridlattice函数的调用必须要加载相应的包(如library(lattice))。要调用ggplot2函数需下载并安装该包(install.packages("ggplot2")),第一次使用前还要进行加载(library(ggplot2))。 表16-1 图形系统的载入

系  统 基础安装中是否包含 是否需要显式加载
base
grid
lattice
ggplot2

由于我们主要关注实际的数据分析,所以本章并不会详细介绍grid包。(如果你感兴趣,可参考Murrell博士的Grid网站www.stat.auckland.ac.nz/~paul/grid/grid.html,上面有该包的详细说明。)我们将探究的是latticeggplot2包,它们都可让你轻松创建出一些(用其他方法可能不太方便创建的)独特而实用的图形。