第四天
绘制简单图形
dose<-c(20,30,40,45,60)
drugA<-c(16,20,25,43,68)
drugB<-c(16,18,29,35,41)
plot(dose,drugA,type="b")绘制散点图(x,y,type=b为同时绘制点和线)
image.png
修改图形
xg<-par(no.readonly = TRUE)将当前图形的参数设置保存到变量中
par(lty=3,pch=15)将线条类型修改,将点的类型修改
plot(dose,drugA,type="b")重新绘制图
par(xg)还原设置
plot(dose,drugB,type="b",lty=3,pch=15)将几个参数合并在一起执行
参数
pch点符号参数
cex符号的大小
lty线条类型
lwd线条宽度
cex缩放倍数
cex.axis坐标轴可读文字的缩放倍数
cex.lab坐标轴标签的缩放倍数
cex.main标题的缩放倍数
par(pin=c(4,3),mai=c(1,.5,1,.2)
生成一副4英寸宽,3英寸高,上下边界为1英寸,左边界0.5英寸,右边界0.2英寸的图形。后面生成的图形都是这个设置。pin以英寸表示图形尺寸(宽和高),mai以数值向量表示边界大小(英寸)
注意,par()设定的参数对所有图都有效,绘图函数中制定的参数仅对特定图形有效
dose<-c(20,30,40,45,60)
drugA<-c(16,20,25,43,68)
drugB<-c(16,18,29,35,41)
xg<-par(no.readonly = TRUE)
par(pin=c(2,3)
...
par(xg)
绘制好图形后,恢复设置
继续
plot(dose,drugB,type='b', col='red',lty=2,pch=2,lwd=2, main='Clinical trials for DrugB', xlab='Dosage',ylab = 'Drug Response', xlim=c(0,60),ylim=c(0,70))
绘制图形,设定标题(main),坐标轴标签(xlab,ylab),指定坐标轴范围(xlim,ylim)。如下图:
标题
可以使用title()函数为图形添加标题
title(main='main title',sub='sub title', xlab='x-axis label', ylab='y-axis label'
使用lines()语句,可以为一幅现有的图形添加新的图形元素, mtext()用于在图形边界添加文本。
为图形坐标轴添加次要刻度线,需要使用Hmisc包中的minor.tick()函数
参考线
abline()函数
abline(h=yvalues,v=xvalues)
abline(v=seq(1,10,2),lty=2,col='blue')
在1,3,5,7,9位置添加垂直线
文本标注
text()向绘图区内部添加文本,mtext()向图形四个边界之一添加文本
text(location,'text to place', pos, ...)
mtext('text to place', side, line=n, ...)
其它选项包括cex, col,和font等(调整字号、颜色和字体样式)
image.png
attach(mtcars)
plot(wt,mpg,main='Mileage vs Car weight', xlab='weight',ylab='Mileage',pch=18,col='blue')
text(wt,mpg,row.names(mtcars),cex=0.6,pos=4,col='red')
detach(mtcars)
将四幅图并列排布在两行两列中
attach(mtcars)
opar<-par(no.readonly=TRUE)
par(mfrow=c(2,2)
plot(wt,mpg,main='Scatterplot of wt vs mpg')
plot(wt,disp,main='Scatterplot of wt vs disp')
hist(wt,main='Histogram of wt')
boxplot(wt, main='Boxplot of wt')
par(opar)
detach(mtcars)
如下图
layout()的调用为layout(mat),其中mat是一个矩阵,用于指定多个图形的位置。如下:
attach(mtcars)
layout(matrix(c(1,1,2,3),2,2, byrow=TRUE))
hist(wt)
hist(mpg)
hist(disp)
detach(mtcars)
第一行一个图形,第二行2个图形,如下:
其中,layout(matrix(c(1,1,2,3),2,2, byrow=TRUE))矩阵组成为
1,1
2,3
数字大小代表绘图顺序,相同数字为占位符,即第一行1附图,第二行分别绘制2,和3。