12.2 低级图形函数
有些时候,高级图形函数不能准确产生你想要的图。此时,低级图形命令可以在当前图上精确增加一些额外信息(如点,线或者文字)。
一些非常有用的低级图形命令是:
points(x, y)
lines(x, y)
- 在当前图上增加点或者连接线。
plot()
的参数type=
可用于这些函数(points()
的默认值是 "p
",lines()
的默认值是 "l
"。)
text(x, y, labels, …)
在图上给定的
x, y
位置添加文字。labels
经常是整数或者字符向量,此时,labels[i]
绘制在点(x[i], y[i]
) 处。默认值是1:length(x)
。注意:这个功能常常用于下面的命令
> plot(x, y, type="n"); text(x, y, names)
图形参数
type="n"
不让点显示,但设置坐标轴。函数text()
提供了一个特别的字符向量, 因为相应点的位置上的符标由字符向量names
设定。
abline(a, b)
abline(h=y)
abline(v=x)
abline(lm.obj)
- 在当前图上增加一个斜率为
b
截距为a
的直线。h=y
可用于指定贯穿整个图的水平线高度的y-坐标。v=x
类似地用于指定垂直线的x-坐标。同样,lm.obj
可能是一个有长度为2的coefficients
分量(如模型拟合的结果)的列表。该分量中依次含有截距和斜率。
polygon(x, y, …)
- 绘制由(
x, y
) 作为顶点定义的多边形。并且可以用剖面线(hatch lines)填充(可选),或者在图形设备允许的情况下填充其他东西。
legend(x, y, legend, …)
在当前图的特定位置增加图例(
legend
)。 标识字符,线条格式,颜色等都是被字符向量legend
中的标签所注释。另外一个含有画图单位对应值的参数v (一个和legend
长度一致的向量)是必须给定的:legend( , fill=v)
- 填充盒子的颜色
legend( , col=v)
- 点或者线条的颜色
legend( , lty=v)
- 线条样式
legend( , lwd=v)
- 线条宽度
legend( , pch=v)
- 标识字符(字符向量)
title(main, sub)
- 将
main
定义的标题以大字体的形式放在当前图的顶部,同时可以将sub
定义的小标题以小字体的形式放在下部(可选)。
axis(side, …)
- 在第一个参数(1到4,从底部顺时钟方式数)定义的某一侧增加一个坐标轴。另一个参数控制坐标轴相对图区的位置,刻度位置和标签位置。这对调用参数设置为
axes=FALSE
的plot()
函数后增加定制的坐标轴非常有用。
低级图形函数常常需要一些位置信息(如,x 和 y 坐标) 来决定新的图形的放置。 坐标是由用户坐标设置。而用户坐标根据先前高级图形命令定义以及由用户提供的数据决定。
其中 x
和 y
参数是必须的。如果提供一个同时含有参数 x
和 y
的列表对象作为参数也是允许的充分的。类似的是,一个双列的矩阵同样是合法的输入。在这种情况下,函数如 locator()
(见后面的内容)可以交互式地在一个图上设定位置。