一、制图步骤
1. 使用图形
attach(mtcars)
plot(wt,mpg)
abline(lm(mpg~wt))
title("Regression of MPG on Weught")
detach(mtcars)
2. 存储图形
- 通过代码保存图形
pdf("mygraph.pdf") #还可以用png()、jpeg()、bmp()等保存为其他格式
attach(mtcars)
plot(wt,mpg)
abline(lm(mpg~wt))
title("Regression of MPG on Weught")
detach(mtcars)
dev.off()
- 通过图形用户界面保存图形
3.图形参数
par()用来指定图形参数的各种选项。如:par(optionname=value,…)
par(no.readonly=TRUE)生成一个可以修改的当前图形参数列表。
- 符号和线条
pch | 指定绘制点时使用的符号 |
---|---|
cex | 指定符号大小 |
lty | 指定线条类型 |
lwd | 指定线条宽度 |
- 颜色
- 文本属性(文本大小、字体)
- 图形尺寸、边界尺寸
4. 添加文本、自定义坐标轴和图例
plot(dose,drugA,type="b",
col="red",lty=2,pch=2,lwd=2,
main="Clinical Trials for Drug A",
sub="This is hypothetical data",
xlab="Dosage",ylab="Drug Response",
xlim=c(0,60),ylim=c(0,70))
注意:不是所有函数都支持这些options
- 标题 title()
- 坐标轴 axis()
- 参考线 abline(h=yvalues, v=xvalues))
- 图例 legend(location,title,options)
- 文本标注 text()、mtext()
二、图形的组合
1.par()
在函数中使用图形参数 mfrows=c( nrows , ncols ) 创建按行填充、行数为nrows,列数为ncols的图形矩阵,使用 mfcols=c( nrows , ncols )按列填充矩阵。
2.layout(mat)
mat为一个矩阵,指定了要组合的多个图形的所在位置。
attach(mtcars)
layout(matrix(c(1,1,2,3),2,2,byrow=TRUE))
#第1个图形占据第1行,第2、3个图形依次排列
hist(wt)
hist(mpg)
hist(disp)
detach(mtcars)
注意:c(1,1,2,3) 在这里,非0数字表示绘制图形的顺序,相同数字表示占位符,“0”代表空缺,不绘制图形。
- widths= 和heights= 参数
attach(mtcars)
layout(matrix(c(1,1,2,3),2,2,byrow=TRUE),
widths=c(3,1),heights=c(1,2))
#第1个图形占据第1行,第2、3个图形依次排列
#第1行的图形高度是第2行图形高度的1/2,右下角图形宽度是左下角图形宽度的1/3
hist(wt)
hist(mpg)
hist(disp)
detach(mtcars)
3.图形布局的精细控制
图形参数 fig=
attch(mtcars)
opar<-par(no.readonly=TRUE)
par(fig=c(0,0.8,0,0.8))
plot(wt,mpg) #设置散点图
par(fig=c(0,0.8,0.55,1),new=TRUE)
boxplot(wt,horizontal=TRUE,axes=FALSE) #在上方添加箱线图
par(fig=c(0.65,1,0,0.8),new=TRUE)
boxplot(mpg,axes=FALSE) #在右侧添加箱线图
par(opar)
detach(mtcars)
fig= 默认新建一副图形,所以添加到现有图形上时,设定参数new=TRUE