plot函数是R语言中画图使用最多的函数,参数也非常之多,简单的总结,之后应该会在学习的过程中不断完善。
plot(x, y = NULL ,type = "p", xlim = NULL, ylim = NULL,log = "", main = NULL, sub = NULL, xlab = NULL, ylab = NULL,ann = par("ann"), axes = TRUE, frame.plot = axes,panel.first = NULL, panel.last = NULL, asp = NA, xgap.axis = NA,ygap.axis = NA, bty = ' o ', ...)
一、plot函数基本函数
x,y=NULL:x和Y的坐标数据
x <- 1:10
y <- x
plot(x,y)
type = "p":图的类型
plot(x,y,type="p")
type="p" | 点 |
type="l" | 线 |
type="b" | 点线 |
type="c" | 点线图去掉点 |
type="o" | 覆盖点和线 |
type="h" | 类似于直方图的线 |
type="s" | 先横后竖的楼梯形状 |
type="S" | 先竖后直的楼梯形状 |
type="n" | 空白图 |
xlim = NULL:x轴的坐标轴范围,参数值为向量(x1, x2),x1和x2分别为x的上下限。
ylim = NULL:y轴的坐标轴范围,参数值为向量(y1, y2),y1和y2分别为y的上下限。
plot(x,y,xlim=c(0,10),ylim=c(0,5))
log = " ":对x、y或者xy取对数
main = NULL:图的主标题,在图的上方
sub = NULL:图的子标题,在图的下方
title=("Main Title", sub="sub title",xlab=NULL, yalb=NULL, line=NA, outer=FALSE, ...)
xlab = NULL:x轴的标注,x轴的标签
ylab = NULL:y轴的标注,y轴的标签
plot(x,y,main="主标题",sub="子标题",xlab="x轴标签",ylab="y轴标签")
ann = par("ann"):逻辑值,是否使用默认的x、y轴标注注释,ann=FALSE即删除文本注释
axes = TRUE:逻辑值,是否显示坐标轴(xaxt、yaxt表示选择不显示对应坐标轴)
frame.plot = axes:是否显示图边框
panel.first = NULL:表达式,在坐标轴设定后,在绘图前添加图形,对于添加网格比较有用
panel.last = NULL:表达式,与上面相反
xgap.axis = NA:x轴标签显示的距离
xgap.axis = NA:y轴标签显示的距离
bty = ' o ':图边框类型
二、plot函数其他常用的参数
col:颜色
col.axis | 坐标轴颜色 |
col.lab | 坐标轴标签颜色 |
col.main | 主标题颜色 |
col.sub | 副标题颜色 |
fg | 图形的前景色 |
bg | 图形的背景色 |
pch:点的形状
plot(x,y,pch=24,bg=2)
plot(1:8,rep(5,8),pch=LETTERS[c(9,12,15,22,5,26,8,21)],col=2:9)
cex:字符或者形状大小,表示绘图符号相对于默认大小的缩放倍数。默认大小为1,1.5表示放大为默认值的1.5倍,0.5表示缩小为默认值的50%。
cex.axis | 坐标轴大小 |
cex.lab | 坐标轴标签大小 |
cex.main | 主标题大小 |
cex.sub | 副标题大小 |
lty:线形
plot(x,y,lty=1)
lwd:线粗细。以默认值的相对大小来表示的,默认值为1,当lwd=2时,表示将生成一条两倍于默认宽度的线条。
par:设定图像布局,par(mfrow=c(a,b)表示将当前绘图设备分割成了a*b个子设备。图的绘制顺序按照列还是按照行分别是根据参数指定的mfrow(行)还是mfcol(列)。
par(mfrow=c(2,3))
plot(x,y,main="右端对齐",sub="副标题",ann=FALSE)#删除注释
plot(x,y,main="右端对齐",sub="副标题",ann=FALSE,las=1)#y轴刻度值水平
plot(x,y,main="右端对齐",sub="副标题",ann=F,bty="n",xaxt="n",yaxt="n")#删除边框、刻度
adj:设置文本和标题的对齐方式。0表示左端对齐,0.5表示剧中,1表示右端对齐。
font:字体。1表示常规,2表示粗体,3表示斜体,4表示粗斜体,5表示符号字体。
font.axis | 坐标轴字体 |
font.lab | 坐标轴标签字体 |
font.main | 主标题字体 |
font.sub | 副标题字体 |
family | 字体家族:”serif“(衬线)、”sans”(无衬线)、“mono”(等宽) |
las:坐标轴标签样式
las | 坐标轴标签样式:0平行,1水平,2和坐标轴垂直,3竖直 |
lend | 线的结尾形状:0圆形,1平头,2方形 |
tck / tcl | 刻度长度,大于0也就是正数表示向图内,负数向外 |
xaxp / yaxp | xy轴刻度显示,c( x1, x2, n) / c( y1, y2, n) |
xaxs / yaxs | xy坐标轴是否延伸合适长度:r延伸,i不延伸 |
xaxt / yaxt | xy坐标轴是否显示:n不显示,s显示 |
xlog / ylog | xy坐标轴是否取对数 |
三、一个完整的实例
data(mtcars)
par(mfrow=c(1,1))
plot(x=mtcars$mpg,y=mtcars$disp,
type="p",
main="主标题",
xlab="x轴",
ylab="y轴",
cex=2,
pch=19,
col='orange',
panel.first = grid(8,8,col='grey',lty=1),
frame.plot = T)
grid(col='blue',lty=1)