基础绘图系统
高级功能:plot( ),barplot( ),boxplot(),datchart( ),hist( ),monthplot( ),pie( ),profile.plot( ),
radial.pie(),radial.plot( )
低级功能:points( ),lines( )
示例:
par(bg="lightyellow") #设置背景色
y<-c(1,4,3,4)
line<-y/2
bp<-barplot(y) #bp 0.7 1.9 3.1 4.3
lines(line,col="red") #将图形叠加在已存在图形上
lines(bp,line,col="blue")
图形参数设置
par() 大约有80个参数设置可调整
1. bg背景设置
par() 整个图形的背景颜色
plot() 以指定颜色绘制单个符号
2. adj调整文本元素的方向0_1即left_right
text() mtext() title()
3. bty图形的边框类型
4. cex文本符号大小设置
cex.axis,cex.lab,cex.main,cex.sub 坐标轴和标签的文本符号大小设置
5. col数据集的颜色设置
col.axis,col.lab,col.main,col.sub 坐标轴和标签的颜色设置
6. family字体设置
7. fg前景色
8. lty() 线型
9. pch()
... ...
图形空白设置
绿色 数据区域;红色内边缘 mai;黄色外边缘 omi
注:关于整个图形的标签可以使用mtext()函数和outer=T置于外边缘。
更复杂的组装和布局
mforw mfcol将图形输出划分为多个行和列
代码
nf<-layout(matrix(c(2,0,1,3),2,2,byrow=TRUE), c(3,1),c(1,3), TRUE)
layout函数的用法:layout.show(nf)可显示当前布局横向3:1,纵向3:1
matrix函数中的非零数字仅代表顺序,0表示空缺不绘制图形
#将xy值控制在-3至+3之间
x<- pmin(3, pmax(-3,stats::rnorm(50)))
y<- pmin(3, pmax(-3,stats::rnorm(50)))
xhist<- hist(x,breaks=seq(-3,3,0.5), plot=FALSE)
yhist<- hist(y,breaks=seq(-3,3,0.5), plot=FALSE)
top<- max(c(xhist$counts,yhist$counts)) #频数最大值
par(mai=c(1,1,0.2,0.2)) #上左方向的内边缘0.2
plot(x, y, xlim=c(-3,3),ylim=c(-3,3), xlab="", ylab="")
par(mai=c(0,1,0.2,0.2)) #下方向的内边缘0
barplot(xhist$counts, axes=FALSE,ylim=c(0, top), space=0)
par(mai=c(1,0,0.2,0.2)) #左方向的内边缘为0
barplot(yhist$counts, axes=FALSE,xlim=c(0, top), space=0, horiz =TRUE)
###########
nf<-layout(matrix(data=c(1,2,3,4,5),nrow=1,ncol=5),
widths=c(2,1,1,1,1),heights=c(1,1))
par(mai=c(0.5,1,0.5,0),omi=c(0.25,0.25,0.25,0.25))
layout.show(nf)
x<-rnorm(50)
y<-rnorm(50)
plot(x,y,axes=F,col=1,xlim=c(-3,3),ylim=c(-3,3),xlab="",ylab="y–axis–\nlabel")
axis(1) #下
axis(2) #左
box(lty='solid',col='darkgrey')
par(mai=c(0.5,0,0.5,0))
for (i in 2:5)
{
x<-rnorm(50)
y<-rnorm(50)
plot(x,y,axes=F,col=i,xlim=c(-3,3),ylim=c(-3,3),xlab="")
if (i %% 2 == 0) {axis(3)} else {axis(1)} #偶数上坐标轴/奇数下坐标轴
box(lty='solid',col='darkgrey')
}
字体内嵌
待续…