虽然R提供了很多作图函数,但自己实现一下,是非常好的体验,而且能够让我们了解其中的细节。
最近在读<Modern Applied Statistics With S-PLUS>,115页讲到Q-Q图时,书中给出了一个Trellis的实现。(Trellis是S/S-PLUS的可视化系统,在R里的对等实现是lattice包)。
我们知道一组数字,可以算4分位数,分别是25%, 50%(中位数), 75%,它等于该组数字中所有数值由小到大排列后第X%的数字,事实上每个数字都可以对应一个X%,Q-Q图很简单,把样本数据和理论分布算出来的quantiles,画个散点图而已。分别用base graph和ggplot2实现,图中三个图分别由系统函数qqnorm,和这里定义的qqplot, qqplot2画出来。
三维绘图可以分为两大类型:矩阵型和曲面型。
矩阵型
通常是声明一个矩阵,以矩阵的长宽为x,y范围,以矩阵里面的数值为高z,
使用plot3d(t1,t2,Z,alpha=a,theta=b)
- t1:y轴方向的范围
- t2:x轴方向的范围
- Z:矩阵
- alpha
theta参数用于指定角度,让图绘出来以某个特定的角度呈现出来。(optional)
->clear ->A=[1 2 5 4 3;0 3 2 8 6;2 4 6 7 5;2 3 4 3 1]; ->t1=1:4; ->t2=1:5; //plot3d1与plot3d语法类似,能够嵌入多种颜色 ->plot3d(t1,t2,A,alpha=45,theta=45);
mesh不需要边界声明, ->mesh(A);