R语言中的绘图技巧1:plot()函数参数汇总

您所在的位置:网站首页 summary在r语言中的意思 R语言中的绘图技巧1:plot()函数参数汇总

R语言中的绘图技巧1:plot()函数参数汇总

2024-07-11 23:10| 来源: 网络整理| 查看: 265

文章目录 plot()函数函数形式及参数**type**参数pch参数lty参数bty参数adj 参数可以控制文字的 对齐方式 实例 par函数参数介绍控制文字或字符大小颜色字体坐标轴 实例坐标轴延长坐标轴不显示 points函数实例 lines函数实例 ablines函数实例 axis 函数函数形式及参数介绍实例实例1实例2 title函数实例 text 函数实例 mtext 函数实例 segments 函数实例 symbols 函数实例 arrows 函数实例 rect 函数实例 polygon 函数实例 box 函数实例

plot()函数 函数形式及参数 ## Default S3 method: plot(x, y = NULL, # x和y坐标 type = "p", # 图的类型 xlim = NULL, ylim = NULL, # x、y的坐标轴范围 log = "", # 对"x"、"y"或"xy" 取对数 main = NULL, # 图的主标题 sub = NULL, # 副标题 xlab = NULL, ylab = NULL, # x、y轴标注 ann = par("ann"), # 逻辑值,是否使用默认的x、y轴标注注释 axes = TRUE, # 逻辑值,是否显示坐标轴, "xaxt" 或 "yaxt" 选择不显示对应坐标轴 frame.plot = axes, # 是否显示图边框 panel.first = NULL, # 表达式,在坐标轴设定后,在绘图之前添加图形,对于添加网格比较有用 panel.last = NULL, # 同上,相反 asp = NA, # y/x 的比例 xgap.axis = NA, # x轴标签显示的距离 ygap.axis = NA,# y轴标签显示的距离 bty = 'o' # 图边框类型 ... # 其它参数,见 par函数 )

经常用的参数还有:

col # 颜色 bg # 图形背景色 fg # 图形前景色 pch # 点的形状 cex # 字符或者形状大小 lty # 线形 lwd # 线粗细 ... type参数

在这里插入图片描述

pch参数

在这里插入图片描述

lty参数

在这里插入图片描述

bty参数

在这里插入图片描述

adj 参数可以控制文字的 对齐方式 # 绘制1x3的图 par(mfrow = c(1, 3)) # 参数类型 adj = c(0,0.5,1) # 绘图 lapply(adj, function(x){ plot(x = mtcars$mpg,y = mtcars$disp, main = paste('adj is the ',x,' !',sep = ''), adj = x) })

在这里插入图片描述

实例 # 加载数据 data("mtcars") # 绘制一行两列 par(mfrow = c(1,1)) # 绘图 plot(x = mtcars$mpg,y = mtcars$disp, # 绘制点图 type = 'p', # 主标题 main = 'I am The main Title', # x坐标轴标签 xlab = 'I am Xlab', # y坐标轴标签 ylab = 'I am Ylab', # 点大小 cex = 2, # 点形状 pch = 19, # 点颜色 col = 'red', # 绘制网格线 panel.first = grid(8, 8,col = 'grey',lty = 1), # 绘制边框 frame.plot = T, ) # 添加网格 grid(col = 'orange',lty = 1)

在这里插入图片描述 看到我们第二次添加的网格线是按照刻度位置添加的,plot 函数里面的不是。

par函数

par 函数的参数很多,可以在 plot 之前进行参数设定,还可以使用par(no.readonly = TRUE) 来获取当前图的所有信息。

参数介绍

par 函数主要包括 3 类参数:

1.不可修改参数:

“cin”, “cra”, “csi”, “cxy”, “din” 和 “page”

2.只能通过 par 函数修改的参数:

“ask”,“fig”, “fin”,“lheight”,“mai”, “mar”, “mex”, “mfcol”, “mfrow”, “mfg”,“new”,“oma”, “omd”, “omi”,“pin”, “plt”, “ps”, “pty”,“usr”,“xlog”, “ylog”,“ylbias”

mfcol/mfrow 参数可以设置画板按几行几列分割,用来绘制多个图形。

3.可被其它函数设置的参数:

plot.default, plot.window, points, lines, abline, axis, title, text, mtext, segments, symbols, arrows, polygon, rect, box, contour, filled.contour 和 image 4. 实现在同一个图层上作图 如果想将两个plot的图像叠加在一起,可以在第二个plot前加上

par(new=TRUE) 控制文字或字符大小

在这里插入图片描述

颜色

在这里插入图片描述

字体

在这里插入图片描述

坐标轴

在这里插入图片描述

实例 坐标轴延长 par(mfrow = c(1,2)) # 坐标轴延长 plot(0:3,0:3,xaxs = 'r',yaxs = 'r') plot(0:3,0:3,xaxs = 'i',yaxs = 'i')

在这里插入图片描述

坐标轴不显示 par(mfrow = c(1,2)) # 坐标轴是否显示 plot(0:3,0:3,xaxt = 'l',yaxt = 'n') plot(0:3,0:3,xaxt = 'n',yaxt = 's')

在这里插入图片描述

points函数 实例 par(mfrow = c(1,1)) # 建空画板 plot(x = mtcars$mpg,y = mtcars$disp,type = 'n') # 添加点 points(x = mtcars$mpg,y = mtcars$disp, # 形状 pch = 22, # 边框颜色 col = '#BF61F2', # 填充颜色 bg = 'orange', # 大小 cex = 3, # 边框线粗 lwd = 2)

在这里插入图片描述

lines函数 实例 par(mfrow = c(1,1)) # 建空画板 plot(x = mtcars$mpg,y = mtcars$disp,type = 'n') # 添加线 lines(x = mtcars$mpg,y = mtcars$disp, # 线形 lty = 2, # 边框线粗 lwd = 2, # 线颜色 col = 'blue' )

在这里插入图片描述

ablines函数 实例 par(mfrow = c(1,1)) # 建空画板 plot(x = mtcars$mpg,y = mtcars$disp,type = 'n') # 添加横线 abline(h = 250, # Y轴位置 lwd = 5,col = '#9FF048') # 添加竖线 abline(v = 22.5, # Y轴位置 lwd = 5,col = 'red') # 添加斜线 abline(a = 100, # y轴截距 b = 7, # 斜率 lwd = 5,col = '#317CDE')

在这里插入图片描述

axis 函数 函数形式及参数介绍 axis(side, # 绘制坐标轴的位置:1 底部,2 左边,3 上边,4 右边 at = NULL, # 刻度线的位置 labels = TRUE, # 是否显示刻度的文字标签,可以为和刻度数量一样额字符向量 tick = TRUE, # 是否显示刻度 line = NA, # 坐标轴距离边界绘制的行数 pos = NA, # 绘制坐标轴的坐标位置 outer = FALSE, # 是否绘制在绘图边距 font = NA, # 文字的字体 lty = "solid", # 线形 lwd = 1, # 线粗 lwd.ticks = lwd, # 刻度线粗 col = NULL, # 线的颜色 col.ticks = NULL, # 刻度线颜色 hadj = NA, padj = NA, # 坐标轴文字(平行和垂直)标签的对齐方式 gap.axis = NA, # 坐标轴标签显示间距 ...) 实例 实例1 par(mfrow = c(2,2)) # 建空画板 plot(1:3,1:3,type = 'n') # 上方添加坐标轴 axis(side = 3) # 建空画板 plot(1:3,1:3,type = 'n') # 右方添加坐标轴 axis(side = 4) # 建空画板 plot(1:3,1:3,type = 'n') # 改变刻度 axis(side = 3,at = seq(1,3,0.4)) # 建空画板 plot(1:3,1:3,type = 'n') # 添加刻度标签 axis(side = 3,at = seq(1,3,0.5),labels = LETTERS[1:5])

在这里插入图片描述

实例2 par(mfrow = c(2,2)) # 建空画板 plot(1:3,1:3,type = 'n') # 添加坐标轴远离图 axis(side = 3,line = 2,lty = 6) # 建空画板 plot(1:3,1:3,type = 'n') # 不显示刻度 axis(side = 3,tick = F) # 建空画板 plot(1:3,1:3,type = 'n',axes = F,frame.plot = T) # 改变轴线粗细,刻度粗细 axis(side = 1,lwd = 3,lwd.ticks = 6) # 改变轴线颜色,刻度颜色 axis(side = 2,col = 'red',col.ticks = 'blue') # 建空画板 plot(1:3,1:3,type = 'n',axes = F,frame.plot = T) # 轴标签左对齐 axis(side = 1,hadj = 0) # 轴标签居中对齐 axis(side = 2,hadj = 0.5) # 轴标签右对齐 axis(side = 3,hadj = 1)

在这里插入图片描述

title函数 title(main = NULL, # 主标题 sub = NULL, # 副标题 xlab = NULL, # x轴标提 ylab = NULL, # y轴标题 line = NA, # 文字标签远离图的行数 outer = FALSE, # 是否将图放在图边界外 ...) 实例 par(mfrow = c(2,2)) # 建空画板 plot(1:3,1:3,type = 'n',axes = T,frame.plot = T,xlab = '',ylab = '') title(main = 'I am main title', sub = 'I am sub title', xlab = 'I am xlab', ylab = 't am ylab') # 建空画板 plot(1:3,1:3,type = 'n',axes = T,frame.plot = T,xlab = '',ylab = '') title(main = 'I am main title', sub = 'I am sub title', xlab = 'I am xlab', ylab = 't am ylab', # 增加文字距离 line = 3) # 建空画板 plot(1:3,1:3,type = 'n',axes = T,frame.plot = T,xlab = '',ylab = '') title(main = 'I am main title', sub = 'I am sub title', xlab = 'I am xlab', ylab = 't am ylab', # 添加到图外 outer = T)

在这里插入图片描述

text 函数 text(x, ...) ## Default S3 method: text(x, y = NULL, # 文字的坐标位置 labels = seq_along(x$x), # 字符型量或者表达式 adj = NULL, # 文字对齐方式 pos = NULL, # 文字位置,会覆盖adj参数,1,2,3,4,分别对于:下左上右 offset = 0.5, # 当指定pos后,控制文本标签的相对距离 vfont = NULL, cex = 1, # 文字大小 col = NULL, # 文字颜色 font = NULL, # 字体 srt = 0, # 文字旋转角度 ...) 实例 par(mfrow = c(1,2)) # 建空画板 plot(1:3,1:3,type = 'n',axes = T,frame.plot = T,xlab = '',ylab = '') text(x = 2,y = 2, labels = 'I am text !', cex = 2, col = 'purple', srt = 45) # 建空画板 plot(1:3,1:3,type = 'n',axes = T,frame.plot = T,xlab = '',ylab = '') # 对齐 text(x = 2,y = 2, labels = 'I am text !', cex = 2, col = 'purple', adj = 0)

在这里插入图片描述

mtext 函数

mtext 函数也是添加文本注释的,不同的是在绘图区域外添加文本。参数和 text 函数基本一致。

mtext(text, # 需要添加的文本 side = 3, # 添加的位置,1234分别对应下左上右 line = 0, outer = FALSE, at = NA, # 指定文字显示的坐标轴位置 adj = NA, padj = NA, # 和 adj 差不多感觉 cex = NA, col = NA, font = NA, ...) 实例 par(mfrow = c(1,2)) # 建空画板 plot(1:3,1:3,type = 'n',axes = T,frame.plot = T,xlab = '',ylab = '') mtext(text = 'I am The bottom TEXT!', line = 2.5,col = 'red', side = 1) mtext(text = 'I am The top TEXT!', line = 2,col = 'blue', side = 3) # 建空画板 plot(1:3,1:3,type = 'n',axes = T,frame.plot = T,xlab = '',ylab = '') mtext(text = 'I am The bottom TEXT!', line = -10,col = 'red', # 文字中心从1开始 at = 1, side = 1)

在这里插入图片描述

segments 函数

segments 函数可以添加线段。

segments(x0, y0, # 起始坐标 x1 = x0, y1 = y0, # 终止坐标 col = par("fg"), # 颜色 lty = par("lty"), # 线形 lwd = par("lwd"), # 线粗 ...) 实例 par(mfrow = c(1,1)) # 建空画板 plot(1:3,1:3,type = 'n',axes = T,frame.plot = T,xlab = '',ylab = '') segments(x0 = 1.5,y0 = 1.5, x1 = 2.8,y1 = 3.0, col = '#1AC5F0',lty = 1,lwd = 3)

在这里插入图片描述

symbols 函数

symbols 函数可以添加符号。

symbols(x, y = NULL, # 添加符号的位置 circles, # 绘制圆形的半径 squares, # 绘制方形的边长 rectangles, # 绘制矩形,需要一个两列的matrix,第一列为宽,第二列为高 stars, # 绘制星形,至少需要3列及以上 thermometers, # 有点像温度计的形状,3或4列的matrix boxplots, # 绘制箱线图,5列的matrix inches = TRUE, add = FALSE, # 是否添加到已经存在的图形上 fg = par("col"), # 图形颜色 bg = NA, # 图形填充色 xlab = NULL, ylab = NULL, main = NULL, xlim = NULL, ylim = NULL, ...) 实例 par(mfrow = c(1,2)) # 建空画板 plot(1:3,1:3,type = 'n',axes = T,frame.plot = T,xlab = '',ylab = '') # 绘制圆形 symbols(x = 2,y = 2, add = T, # 添加到已有图形上 circles = 0.5, fg = 'red',bg = '#FF7ABF') # 绘制方形 symbols(x = 2,y = 2, add = F, # 新绘制图形 squares = 0.5, lwd = 5, fg = 'green',bg = 'black')

在这里插入图片描述

arrows 函数

arrows 函数可以在图上添加箭头。

arrows(x0, y0, # 箭头起始位置 x1 = x0, y1 = y0, # 箭头终止位置 length = 0.25, # 箭头头部边长度 angle = 30, # 箭头张开角度 code = 2, # 箭头类型 col = par("fg"), # 箭头颜色 lty = par("lty"), # 线形 lwd = par("lwd"), # 线粗 ...) 实例 par(mfrow = c(1,1)) # 建空画板 plot(1:3,1:3,type = 'n',axes = T,frame.plot = T,xlab = '',ylab = '') # 默认 arrows(x0 = 2,y0 = 1, x1 = 1,y1 = 2.5,lwd = 3) # 箭头角度 arrows(x0 = 2,y0 = 1, x1 = 2,y1 = 2.5, angle = 60,col = 'red',lwd = 3) # 箭头角度 arrows(x0 = 2,y0 = 1, x1 = 3,y1 = 2.5, angle = 60,col = 'green',length = 0.3,code = 3,lwd = 3)

在这里插入图片描述

rect 函数

rect 函数可以绘制矩形。

rect(xleft, ybottom, xright, ytop, # 矩形的左下右上的坐标位置 density = NULL, # 用线条填充矩形 angle = 45, # 线条角度 col = NA, # 矩形填充色 border = NULL, # 矩形边框颜色 lty = par("lty"), # 线形 lwd = par("lwd"), # 线粗 ...) 实例 par(mfrow = c(1,2)) # 建空画板 plot(1:10,1:10,type = 'n',axes = T,frame.plot = T,xlab = '',ylab = '') # 颜色,线条 rect(xleft = 2, ybottom = 2, xright = 8, ytop = 8, lwd = 3,lty = 5,col = 'orange',border = 'blue') # 建空画板 plot(1:10,1:10,type = 'n',axes = T,frame.plot = T,xlab = '',ylab = '') # 斜线填充 rect(xleft = 2, ybottom = 2, xright = 8, ytop = 8, density = 4,angle = 60)

在这里插入图片描述

polygon 函数

polygon 函数绘制多边形。

polygon(x, y = NULL, # 多边形的xy坐标 density = NULL, angle = 45, border = NULL, col = NA, lty = par("lty"), ..., fillOddEven = FALSE) 实例 par(mfrow = c(1,2)) # 建空画板 plot(1:10,1:10,type = 'n',axes = T,frame.plot = T,xlab = '',ylab = '') polygon(x = 1:9,y = c(1,8,4,6,9,3,5,8,1), col = '#A2FA73',border = 'black',lwd = 3) # 建空画板 plot(1:10,1:10,type = 'n',axes = T,frame.plot = T,xlab = '',ylab = '') # 斜线填充 polygon(x = 1:9,y = c(1,8,4,6,9,3,5,8,1), density = 3,angle = 60, col = '#A2FA73',border = 'black',lwd = 3)

在这里插入图片描述

box 函数

box 函数添加边框。

box(which = "plot", # "plot", "figure", "inner" 和 "outer" 字符向量 lty = "solid", # 线形 ...) 实例 par(mfrow = c(1,1)) # 建画板 plot(1:7, abs(stats::rnorm(7)), type = "h", axes = FALSE) axis(1, at = 1:7, labels = letters[1:7]) box(lty = 5, col = 'red')

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3