R Cheat Sheet (15): Base Graphics

相比于其他编程语言,R语言的最大优势之一是它能够很容易地绘制出版物级别的图像。本节的主要内容是R中的基础绘图,不包含如lattice、ggplot2和ggvis等更高级的绘图包。

首先载入 cars 数据框,并查看其文档:

cars 中只有两个变量,速度 speed 和刹车距离 dist ,这些数据是19世纪20年代记录的。

在开始绘图前,首先查看一下数据,对数据有一个大致的了解,是一个好习惯。R中相关的函数有 dim() , names() , head() , tail() , summary() 等:

1. plot()

直接使用 plot() 函数绘制 cars :

得到的图像如图1所示:

图1

图1

在执行 plot(cars) 时,R注意到 cars 中有两列数据,于是假设你想要将两列数据分别表示于两个坐标轴上;由于我们并没有提供任何标签(label)和轴线(axis),R默认使用了变量名来作为两个坐标轴的标签,并自动为坐标轴加上了对应的刻度; plot() 函数的其余参数都使用了默认值。这里的plot是散点图(scatterplot)的缩写。

plot() 函数的签名为:

其中最重要的两个参数是 x 和 y ,也就是用来画图的两个变量,可以手动指定这两个参数:

得到的图像如图2所示:

图2

图2

注意图1和图2在坐标轴的标签上略有不同,图2中直接使用了传入的参数名来作为标签。调用 plot() 的方法有很多,使用 plot(dist ~ speed, cars) 也可以得到跟图1和图2类似的结果。

可以通过 xlab 和 ylab 参数指定坐标轴的标签,通过 main 参数指定图像的标题:

得到的图像如图3所示:

图3

图3

通过 ?plot 得到的文档中只包含了 plot() 的一小部分参数,可以使用 ?par 来查看更多参数的使用方法。下面的指令将图像改为三角,颜色改变为红色,并限制x轴的范围为10到15,如图4所示:

图4

图4

2. boxplot()

boxplot() 函数可以用来绘制箱线图,它可以接受整个数据框作为参数,也接受使用 ~ 指示变量关系的表达式作为参数:

得到的图像如图5所示:

图5

图5

3. hist()

hist() 函数用于绘制直方图,在观察单个变量时很有用:

得到的图像如图6所示:

图6

图6