这些专业绘图中很多都仅仅是在基本的散点图基础上做了一些变形,并将数据符号或者线段绘制在笛卡尔坐标系统上。例如,qqplot()函数和qqnorm()函数生成了分位数-分位数图(即将观测到的值与从理论分布得到的值作比较),plot()绘图方法接受“ecdf”对象(经验累积分布函数)后可以绘制出阶梯图,plot()绘图方法接受"ts"对象(时间序列)或者密度估计(从density()函数得到)后会自动绘制一条连接各值的折线来显示大致的趋势。
一个有趣的情形是参数曲线的展示,不同于传递特定的显式数据点作为参数,参数曲线接受的是x与y之间的关系表达式。这可以通过两种方式实现:通过针对函数对象的plot()绘图方法以及curve()函数。下面的代码展示了两种绘制正弦波曲线的方式(见图2.9)。
> plot(function(x){
sin(x)/x
},
from=-10*pi, to=10*pi,
xlab="", ylab="", n=500)
> curve(sin(x)/x,-10*pi,10*pi)
还有许多能够绘制完全不同类型图形的函数。 plot()绘图方法接受dendrogram 对象后可以绘制分层或者树形结构,这些结构可以展示例如通过聚类方法或者递归分割回归树所得到的结果。图2.9下方的两幅图就展示了调用plot()方法绘制dendrogram对象所输出的示例图形[3] 。本书第四部分包含了很多章节用来描述如何绘制不同类型的特定图形。例如,在第15章中介绍了能够绘制顶点-边图的函数。
图2.9 一些专业绘图。上方的图展示的是由R函数绘制的曲线,下方的两幅图展示的是树形图的两种不同表现形式。
时间: 2024-09-14 11:58:22