每天学习一点R:10.plot和par函数绘图详解
plot()函数
plot()函数是R中最基本的绘图函数,其实最简单、最基础的函数,这也就意味着其具有更多的可操作性。
plot(x,y,...)
在plot函数中,只需指定最基本的x和y轴对应数据即可进行图像的绘制,x和y轴数据分别为两个向量或者是只有两列的数据框(第一类为x轴,第二列为y轴)。
require(stats)
plot(cars)
plot绘图默认为散点图,可以通过type参数修改绘图的类型。
type=”s”是先水平后垂直,type=”S”是先垂直后水平,type=”n”为不显示图像。
par()函数
plot()函数中的所有绘图参数基本上都是应用par()函数中的参数进行设置,接下来就详细介绍par()函数中可以设置的绘图参数。
par(..., no.readonly = FALSE)
其中…表示所有类似于tag=value形式的参数,下面会具体的对这些参数进行描述。
当参数no.readonly=TRUE时,函数par()就只允许有这一个参数了,并且会返回当前绘图设备中各个参数的参数值。
如只输入par()则会返回一个list,其中包含当前的图形参数。
各参数意义:
adj,该参数值用于设定在text、mtext、title中字符串的对齐方向,0表示左对齐,0.5(默认值)表示居中,而1表示右对齐。
ann,如果ann=FALSE,那么高水平绘图函数会调用函数plot.default使对坐标轴名称、整体图像名称不做任何注解,默认值为TRUE。
plot(1:4,ann=FALSE,main='plot(1:4,ann=FALSE)')
尽管指定了参数main的值,但是图像中仍然没有显示。
ask,逻辑值,若为TRUE(且当前的R会话是可交互状态),则在绘制新图像之前会要求用户输入确认信息。
bg,用于设定绘图区域的背景颜色。
bty,该参数值为字符串型,用于限定图形的边框类型。如果bty的值为”o”(默认值)、”l”、”7”、”c”、”u”或者”]”中的任意一个,对应的边框类型就和该字母的形状相似,如果bty的值为”n”,表示无边框。
cex,用于表示对默认的绘图文本和符号放大多少倍。
cex.axis,表示在当前的cex设定情况下,对坐标轴刻度值字体的放大倍数;
cex.lab,表示在当前的cex设定情况下,对坐标轴名称字体的放大倍数;
cex.main,表示在当前的cex设定情况下,对主标题字体的放大倍数;
cex.sub,表示在当前的cex设定情况下,对子标题字体的放大倍数。
cin、cra、cxy,设置字符的大小,cin的单位为英寸,cra的单位为pixels,cxy的单位为用户坐标轴的单位。
col,用于设定默认的绘图颜色。
col.axis,坐标轴刻度值的颜色,默认为”black”;
col.lab,*坐标轴名称8的颜色,默认为”black”;
col.main,主标题的颜色,默认为”black”;
col.sub,子标题的颜色,默认为”black”。
crt,该参数的值为一个表示度数的数值,用于表示单个字符的旋转度数。
family,图形中字符的字体类型。
fg,图形中显著位置的颜色(如坐标轴、刻度线,边框等),一般默认为”black“。
font,用于设定采用哪种字型,为一个整数。
font.axis,坐标轴刻度值的字型;
font.lab,坐标轴名称的字型;
font.main,主标题的字型;
font.sub,子标题的字型。
1代表纯文本,2表示黑体,3表示斜体,4表示黑色斜体。
las,只能是0,1,2,3中的某一个值,用于表示刻度值的方向。
0表示总是平行于坐标轴,1表示总是水平方向,2表示总是垂直于坐标轴,3表示总是垂直方向。
lend,定义线的末端形式,0或round为圆滑末端,1或butt末端会有一个放大的圆点,2或square为直角末端。
ljoin,定义线的连接形式,0或round为圆滑连接,1或mitre为斜切连接,2或bevel为齿轮连接。
lmitre,当线为mitred连接时,设置mitre的个数,必须超过1。
lheight,设定多行文本的行距。
lab,为c(x,y,len)格式的数字向量,x和y分别定义x和y轴上刻度的个数,len定义标签的长度,默认为c(5,5,7)。
lty,直线类型。
lwd,线条宽度,必须为一个整数,默认值为1。
mgp,设定标题、坐标轴名称、坐标轴距图形边框的距离,默认值为c(3,1,0),其中第一个值影响的是标题。
mkh,定义图像中symbols的大小,单位为英寸。
pch,表示点的形状。
pin,当前的维度,形式为c(width,height),单位为英寸。
ps,整数,设置图像中点对应的文字大小。
srt,字符串旋转度数,只支持函数text。
tck,坐标轴刻度线的长度,为一个小于等于1的小数,表示绘图区域的高度或宽度的一部分(取高度或宽度中较小的值),如果tck=1,则表示绘制网格线。默认值为NA(相当于tcl=-0.5)
xaxs、yaxs,坐标轴的间隔设定方式,”r”(regular)首先会对数值范围向两端各延伸4%,然后在延伸后的数值区间中设置坐标值,”i”(internal)直接在原始的数据范围中设置坐标值。
xaxt、yaxt,用于设定坐标轴的刻度值类型,为一个字符,“n”表示不绘制刻度值及刻度线,”s”表示绘制,默认为”s”。
xlog、ylog,一个逻辑值。如果为TRUE,表示对坐标轴进行对数处理,默认值为FALSE。
扩展阅读