◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎
前一节介绍函数plot时已经简要介绍了线和点的画法。这些点和线构成了线图(line plot)。线图通常用于显示因素不同水平在因变量平均数上的变化趋势。由于因素水平通常以文字显示,在设置横坐标时需要用因素名称(文字)代替数字作为轴标签(axis labels),因而研究者需要设置图形变元xaxt= 来抑制 X 轴类型(X axistype),再利用函数axis来添加 X 轴标签。
假如我们有两个因素。一个因素(G)有三个水平,分别称作G1、G2和G3;另一个因素(T)有两个水平,分别称作T1和T2。这两个因素水平组合与对应的因变量(DV)测量平均值如下:
>G<-c(' G1T1',' G2T1',' G3T1',' G1T2',' G2T2',' G3T2')
>DV<-c(10,15,18,19,13,8)
要求绘制线图时, X 轴代表因素G的三个水平;用实线和虚线分别代表因素T的两个水平;用实心圆点表示G的不同水平在T1水平上的平均数;用空心圆点表示G的不同水平在T2水平上的平均数;将图例设在绘图区外的右上方。有关图例变元的设置,可在R工作界面利用命令?legend查询。
根据以下命令得到如图2.9所示的线图:
>par(mai=c(0.3,0.5,0,0.55),omi=c(0,0,0,0.1),xpd=TRUE)
>Levels<-c(1,2,3)
>DV1<-c(10,15,18)
>DV2<-c(19,13,8)
>plot(Levels,DV1,xlim=c(1,3),ylim=c(7,20),type='b',lty=1,pch=16,xaxt=''n,xlab='',ylab='',cex.axis=0.8,mgp=c(1.5,0.3,0),tcl=-0.25)
>lines(Levels,DV2,type='b',lty=2,pch=1)
>axis(side=1,c(1,2,3),mgp=c(1.5,0.3,0),labels=c(' G1',' G2',' G3'),cex.axis=0.8,tcl=-0.25)
>mtext(side=2,line=1.5,' DV',cex=0.8)
>legend(3.12,19,legend=c(' T1',' T2'),lty=c(1,2),pch=c(16,1),cex=0.6,y.intersp=1.1)
图2.9 不同因素水平上的平均数比较
图2.9的绘制简要说明如下。参数par中,mai=c(0.3,0.5,0,0.55)和omi=c(0,0,0,0.1)分别设置制图区边缘和图形区外缘。命令xpd=TRUE使图例能够被放置在制图区外围。变元xlim和ylim设置横坐标和纵坐标的数值范围;type= “b”表示绘制点和线(b为both的缩写)。如果只画线,设置type=“l ”(lines)。如果只画点,则用type=“p ”(points)。变元lty和pch分别设置线型和点形状(见图2.3和2.5)。变元xaxt设置 X 轴类型。命令xaxt=“n”抑制 X 轴的绘制,目的是便于后期根据需要指定 X 轴标签及其位置。同样,变元yaxt设置 Y 轴类型( Y axis type)。命令xlab=“”和ylab=“”表示不设置 X 轴和 Y 轴标签。变元cex.axis用于轴标签缩放,本例cex.axis=0.8 缩小了G1、G2 和G3 字符。变元mgp=c(1.5,0.3,0)用于设定轴标题(axis title)、轴标签(axis labels,即轴名称)和轴线(axis line)的边缘线(margin line)位置。变元mgp[1]影响标题,mgp[2:3]影响轴,R默认设置为c(3,1,0)。本例没有设置轴标题。变元tcl是刻度线(tick mark)的相对长度,R默认值为-0.5。函数lines在图形中增加线型和点的符号。本例函数axis设定 X 轴坐标,mtext设定 Y 轴的标签,line=1.5设定轴标签(DV)的位置,cex=0.8设定字符的大小。命令legend(3.12,19)设置图例的位置,括号中的数字依次表示 X 和 Y 轴值,legend= 设置字符向量,lty=c(1,2)和pch=c(16,1)分别用于确定图例中的线型和符号,y.intersp=1.1设置字符纵向间距。如要设置字符横向间距,则用变元x.intersp。如果需要把两幅或两幅以上的图排放在一起,则在函数par中增加变元mfrow,如par(mfrow=c(1,2))设定同一排放置的两幅图。