当前位置:   article > 正文

R语言绘图相关函数(含实例)_r语言函数画图

r语言函数画图

目录

plot:可用于创建多种类型的图形

dev.new():新建画板

hist:绘制直方图

dotchart:绘制点图的函数

pie:绘制饼图

 pair:绘制散点图矩阵

boxplot:绘制箱线图

scatterplot3D: 绘制三维散点图

par:修改图形设备的参数

title:设置标题

axis:自定义坐标轴的外观和属性

rug:添加轴密度

grid:添加网格

abline:添加直线

lines:添加直线

text:添加标签

legend:添加图例


plot:可用于创建多种类型的图形

plot(x, y, type = "p", ...)

参数

  • x:要绘制的数据的x轴坐标。
  • y:要绘制的数据的y轴坐标。
  • type:要绘制的图形类型。常见的值包括:
    • "p":散点图(默认值)。
    • "l":线图。
    • "b":线图和散点图(同时显示)。
    • "h":步进图。
    • "s":阶梯图。
    • "n":不绘制图形,只创建绘图区域。

(1)绘制散点图 

  1. x <- c(1, 2, 3, 4, 5)
  2. y <- c(2, 4, 6, 8, 10)
  3. plot(x, y, type = "p", main = "Scatter Plot", xlab = "X", ylab = "Y")

 (2)绘制线图

  1. x <- c(1, 2, 3, 4, 5)
  2. y <- c(2, 4, 6, 8, 10)
  3. plot(x, y, type = "l", main = "Line Plot", xlab = "X", ylab = "Y")

 (3)绘制柱状图

  1. x <- c("A", "B", "C", "D")
  2. y <- c(10, 15, 7, 12)
  3. plot(x, y, type = "b", main = "Bar Chart", xlab = "Categories", ylab = "Values")
  4. #这里会出现报错
  5. #plot()函数默认将输入数据视为数值型,在尝试绘制非数值型数据时会导致错误
  6. #可以使用barplot()
  7. x <- c("A", "B", "C", "D")
  8. y <- c(10, 15, 7, 12)
  9. barplot(y, names.arg = x, main = "Bar Chart", xlab = "Categories", ylab = "Values")

dev.new():新建画板

  1. > dev.new()
  2. NULL
  3. > x <- c("A", "B", "C", "D")
  4. > y <- c(10, 15, 7, 12)
  5. >
  6. > barplot(y, names.arg = x, main = "Bar Chart", xlab = "Categories", ylab = "Values")
  7. >
  8. >

hist:绘制直方图

参数

  • x:要创建直方图的数据向量或数值矩阵。
  • breaks:用于控制直方图的分箱数目。可以是一个整数来指定分箱的数量,也可以是一个向量来指定分箱的边界。
  • freq:一个逻辑值,指示是否绘制直方图的频率(默认为TRUE)。如果设置为FALSE,则绘制密度图。
  • probability:一个逻辑值,指示是否绘制概率密度直方图(默认为FALSE)。如果设置为TRUE,则纵轴将标准化为表示密度而不是计数。(必要时要将prob=TRUE,这样折线才明显)
  • include.lowest:一个逻辑值,指示是否包含第一个分箱区间的左边界(默认为TRUE)。
  • right:一个逻辑值,指示分箱区间是否包含右边界,默认为TRUE。如果设置为FALSE,则分箱区间是左开右闭的。
  • density:一个逻辑值,指示是否绘制概率密度线(默认为NULL)。
  • angle:控制直方图的画板角度,默认为45度。
  • col:直方图的填充颜色。
  • border:直方图的边框颜色。
  • main:直方图的标题。
  • xlab:x轴的标签。
  • ylab:y轴的标签。
  1. # 创建一个向量作为示例数据
  2. data <- c(22, 34, 16, 28, 30, 20, 24, 18, 21, 31)
  3. # 使用一些常用参数来自定义直方图的外观
  4. hist(data,
  5. breaks = 5, # 分成5个分箱
  6. col = "blue", # 设置直方图的填充颜色为蓝色
  7. border = "white", # 设置直方图的边界颜色为白色
  8. main = "Histogram", # 设置直方图的标题
  9. xlab = "Values", # 设置x轴标签
  10. ylab = "Frequency" # 设置y轴标签
  11. )

dotchart:绘制点图的函数

参数

  • x: 表示要绘制点图的数值向量。
  • labels: 表示与每个数值对应的类别名称的向量。
  • groups: 表示对数据进行分组的因子或向量。可以根据分组对点图进行着色。
  • color: 表示点的颜色。可以是一个预定义的颜色名称或颜色代码。
  • pch: 表示点的形状。可以是一个整数或字符,代表不同的形状。
  • cex: 表示点的大小。可以是一个数值,指定点的放大倍数。
  • main: 表示点图的标题。
  • xlab: 表示x轴的标签。
  • ylab: 表示y轴的标签。
  • xlim: 表示x轴的范围。
  • ylim: 表示y轴的范围。
  1. # 创建数据
  2. categories <- c("Category A", "Category B", "Category C", "Category D")
  3. values <- c(10, 15, 7, 12)
  4. # 使用dotchart绘制点图
  5. dotchart(values, labels = categories, main = "Dot Chart", xlab = "Values")

pie:绘制饼图

参数

  • x: 表示要绘制饼图的数值向量。
  • labels: 表示与每个数值对应的类别名称的向量。如果指定了该参数,那么标签将显示在饼图中的每个扇区旁边。
  • main: 表示饼图的标题。
  • col: 表示饼图的颜色向量。可以是一个预定义的颜色名称向量或自定义颜色代码向量。
  • border: 表示饼图扇区的边界颜色。可以是一个颜色名称或颜色代码。
  • clockwise: 表示饼图绘制的方向。默认为TRUE,表示顺时针绘制;设为FALSE时表示逆时针绘制。
  • init.angle: 表示饼图开始绘制的角度,默认为90度,即从12点钟方向开始绘制。
  • labels.dist: 表示标签离饼图的距离。可以是一个数值,单位为“像素”(px),或一个比例。
  • labels.bg: 表示标签的背景色。可以是一个颜色名称或颜色代码,用于填充标签的背景。
  • radius: 表示饼图的半径,可以是一个数值或一个比例。

 pair:绘制散点图矩阵

参数

  • x: 数据框或矩阵,包含要绘制散点图矩阵的变量。
  • labels: 变量名的向量,用于显示在散点图矩阵中每个小图的轴标签上。
  • pch: 散点的形状,默认为1(圆点)。可以是一个整数或字符向量,用于指定不同形状的点。
  • col: 散点的颜色,默认为黑色。可以是一个颜色名称或颜色代码向量,用于指定不同颜色的点。
  • bg: 散点的填充颜色,默认为空。可以是一个颜色名称或颜色代码向量,用于指定点的填充颜色。
  • cex: 散点的大小,默认为1。可以是一个数值或数值向量,用于指定不同大小的点。
  • main: 散点图矩阵的主标题。
  • sub: 散点图矩阵的副标题。
  • lower.panel: 一个函数,用于自定义非对角线上每个小图的绘制内容。
  • upper.panel: 一个函数,用于自定义非对角线上每个小图的绘制内容。
  • diag.panel: 一个函数,用于自定义对角线上每个小图的绘制内容。
  1. # 创建数据
  2. data <- iris[, 1:4] # 使用鸢尾花数据集的前四列作为示例数据
  3. # 使用pair()绘制散点图矩阵
  4. pairs(data)

boxplot:绘制箱线图

  • x:要创建箱线图的数据向量或数值矩阵。
  • horizontal:一个逻辑值,指示是否绘制水平箱线图(默认为FALSE)。如果设置为TRUE,则绘制水平箱线图。
  • notch:一个逻辑值,指示是否绘制缺口箱线图(默认为FALSE)。如果设置为TRUE,则绘制缺口箱线图。
  • varwidth:一个逻辑值,指示是否根据箱子的样本数目调整箱子的宽度(默认为FALSE)。如果设置为TRUE,则根据样本数目调整箱子的宽度。
  • outline:一个逻辑值或字符向量,指示是否绘制异常值的点或字符(默认为TRUE)。如果设置为FALSE,则不绘制异常值。
  • col:箱线图的颜色。
  • border:箱线图的边框颜色。
  • main:箱线图的标题。
  • xlab:x轴的标签。
  • ylab:y轴的标签。
  1. # 创建一个向量作为示例数据
  2. data <- c(22, 34, 16, 28, 30, 20, 24, 18, 21, 31)
  3. # 使用一些常用参数来自定义箱线图的外观
  4. boxplot(data,
  5. col = "blue", # 设置箱线图的颜色为蓝色
  6. border = "white", # 设置箱线图的边框颜色为白色
  7. main = "Boxplot", # 设置箱线图的标题
  8. xlab = "Data", # 设置x轴标签
  9. ylab = "Values", # 设置y轴标签
  10. notch = TRUE # 绘制缺口箱线图
  11. )

 将notch参数设置为FALSE,并使用out参数指定了两个异常值(10和40)

  1. # 创建一个向量作为示例数据
  2. data <- c(22, 34, 16, 28, 30, 20, 24, 18, 21, 31)
  3. # 使用notch=FALSE和带有异常值的out参数
  4. boxplot(data,
  5. col = "blue", # 设置箱线图的颜色为蓝色
  6. main = "Boxplot", # 设置箱线图的标题
  7. xlab = "Data", # 设置x轴标签
  8. ylab = "Values", # 设置y轴标签
  9. notch = FALSE, # 不绘制缺口箱线图
  10. out = c(10, 40) # 指定异常值
  11. )

scatterplot3D: 绘制三维散点图

常用参数

  • xyz:要绘制的数据点的三个变量。
  • color:指定散点的颜色。可以是一个字符向量或颜色名称。例如,"blue"表示蓝色,"#FF0000"表示红色。
  • pch:指定散点的形状。可以是一个整数或字符。例如,16表示实心圆,17表示实心三角形。
  • main:设置散点图的标题。
  • xlabylabzlab:设置x轴、y轴和z轴的标签。
  • type:指定绘图类型。默认值为"p"表示散点图,也可以选择其他类型如"l"表示连线图。
  • lty:指定连线的类型。默认值为"solid"表示实线,也可以选择其他类型如"dashed"表示虚线。
  • thetaphi:控制视角的角度,用于旋转和调整观察者的视图。
  • box:设置是否绘制包围盒。默认值为TRUE表示绘制边框,FALSE表示不绘制。
  1. # 创建三个变量作为示例数据
  2. x <- c(1, 2, 3, 4, 5)
  3. y <- c(6, 7, 8, 9, 10)
  4. z <- c(11, 12, 13, 14, 15)
  5. # 绘制三维散点图
  6. scatterplot3d(x, y, z,
  7. color = "blue", # 设置散点的颜色为蓝色
  8. pch = 16, # 设置散点的形状为实心圆
  9. main = "3D Scatter Plot", # 设置图标题
  10. xlab = "X", # 设置x轴标签
  11. ylab = "Y", # 设置y轴标签
  12. zlab = "Z" # 设置z轴标签
  13. )

par:修改图形设备的参数

常见参数

  • mfrow:用于设置绘图区域的布局,即将多个图形组织在一个网格中。例如,par(mfrow = c(2, 2))表示将画布分成2行2列,以便绘制4个图形。
  • mar:用于设置绘图区域的边距。默认值为c(5, 4, 4, 2) + 0.1,分别代表下、左、上、右的边距。
  • oma:用于设置整个图形区域的边距。默认值为c(0, 0, 2, 0),分别代表下、左、上、右的边距。
  • mfcol:类似于mfrow,用于设置绘图区域的布局,但是按列来组织图形。例如,par(mfcol = c(2, 2))表示将画布分成2列2行,以便绘制4个图形。
  • mgp:用于设置刻度标签与轴线之间的距离、刻度标签与轴线之间的距离以及刻度线与轴线之间的距离。默认值为c(3, 1, 0)
  • cex.axis:用于设置坐标轴标签的字体大小。
  • cex.lab:用于设置轴标题的字体大小。
  • font:用于设置绘图区域中的字体类型。默认值为1表示标准字体。
  • family:用于设置字体系列,比如"serif"表示衬线字体,"sans"表示无衬线字体。

 (1)设置绘制区域布局

  1. # 将画布分成22列,以便绘制4个图形
  2. par(mfrow = c(2, 2))

 (2)设置绘图区域边距

  1. # 设置下、左、上、右的边距分别为1212
  2. par(mar = c(1, 2, 1, 2))

(3)设置整个图形区域的边距

  1. # 设置下、左、上、右的边距分别为1111
  2. par(oma = c(1, 1, 1, 1))

(4)设置刻度标签、轴标题和字体大小

  1. # 设置刻度标签、轴标题的字体大小为1.5倍原始大小
  2. par(cex.axis = 1.5, cex.lab = 1.5)

title:设置标题

参数

  1. main:指定主标题的文本内容。
  2. sub:指定副标题的文本内容。
  3. xlab:指定x轴标题的文本内容。
  4. ylab:指定y轴标题的文本内容。
  5. line:指定标题相对于图形的位置。默认值为0.5,表示居中放置。负值将标题放置在图形外部,正值将标题放置在图形内部。
  6. col.main:指定主标题的文字颜色。
  7. col.sub:指定副标题的文字颜色。
  8. col.lab:指定x轴和y轴标题的文字颜色。
  9. cex.main:指定主标题的字体缩放系数,用于调整字体大小。
  10. cex.sub:指定副标题的字体缩放系数,用于调整字体大小。
  11. cex.lab:指定x轴和y轴标题的字体缩放系数,用于调整字体大小。
  12. font.main:指定主标题的字体样式,默认为1表示标准字体。其他可用的字体样式有"bold"(粗体)、"italic"(斜体)等。
  13. font.sub:指定副标题的字体样式。
  14. font.lab:指定x轴和y轴标题的字体样式。
  1. title(
  2. main = "Scatter Plot",
  3. sub = "Data Analysis",
  4. xlab = "X-axis",
  5. ylab = "Y-axis",
  6. col.main = "blue",
  7. col.sub = "red",
  8. col.lab = "green",
  9. cex.main = 1.5,
  10. cex.sub = 1,
  11. cex.lab = 1.2,
  12. font.main = 2,
  13. font.sub = "italic",
  14. font.lab = 3
  15. )

axis:自定义坐标轴的外观和属性

axis(side, at, labels, pos, tick, line, lty, lwd, col, cex.axis, font, ...)

参数

  • side:指定要修改的坐标轴(1=下轴,2=左轴,3=上轴,4=右轴)。
  • at:指定刻度线的位置。
  • labels:指定刻度标签的文本内容。
  • pos:指定轴线和刻度线的位置(通常与at参数一起使用)。
  • tick:控制是否显示刻度线。
  • line:控制轴线和刻度线的长度。
  • lty:控制轴线和刻度线的线型。
  • lwd:控制轴线和刻度线的线宽。
  • col:控制轴线和刻度线的颜色。
  • cex.axis:控制刻度标签的字体缩放系数。
  • font:控制刻度标签的字体样式。
  1. # 自定义x轴
  2. axis(side = 1, at = c(1, 2, 3, 4), labels = c("A", "B", "C", "D"), pos = 0, tick = TRUE, line = -0.5, lty = "dashed", lwd = 2, col = "blue", cex.axis = 1.2, font = 2)
  3. # 自定义y轴
  4. axis(side = 2, at = c(0, 5, 10, 15), labels = c("Low", "Medium", "High", "Very High"), pos = 0, tick = TRUE, line = -0.5, lty = "dotted", lwd = 1.5, col = "red", cex.axis = 1, font = 3)

rug:添加轴密度

rug(x, side = 1, ticksize = 0.03, line = NULL, lty = NULL, lwd = NULL, col = NULL, ...)

参数

  • x:指定要在坐标轴上绘制轴密度标记的值。
  • side:指定轴密度标记的位置(1=下轴,2=左轴,3=上轴,4=右轴)。
  • ticksize:指定轴密度标记的大小。
  • line:指定轴密度标记的位置(通常与x参数一起使用)。
  • lty:控制轴密度标记的线型。
  • lwd:控制轴密度标记的线宽。
  • col:控制轴密度标记的颜色。
  1. # 在散点图上添加轴密度标记
  2. plot(x, y)
  3. rug(x, side = 1, ticksize = 0.03, col = "blue")
  4. # 在直方图上添加轴密度标记
  5. hist(x)
  6. rug(x, side = 1, ticksize = 0.03, col = "red")
  7. # 在密度图上添加轴密度标记
  8. plot(density(x))
  9. rug(x, side = 1, ticksize = 0.03, col = "green")

grid:添加网格

  • nx:指定网格线在x轴上的数量。
  • ny:指定网格线在y轴上的数量。
  • col:设置网格线的颜色。
  • lty:设置网格线的类型。
  • lwd:设置网格线的宽度。
  1. # 添加默认的灰色虚线网格线
  2. plot(x, y)
  3. grid()
  4. # 添加自定义颜色、线型和线宽的网格线
  5. plot(x, y)
  6. grid(col = "blue", lty = "dashed", lwd = 1)
  7. # 添加指定数量的网格线
  8. plot(x, y)
  9. grid(nx = 5, ny = 5)

abline:添加直线

abline(a = NULL, b = NULL, h = NULL, v = NULL, reg = NULL, coef = NULL, ...)
  • a:直线的截距。
  • b:直线的斜率。
  • h:添加水平直线,指定y轴上的值。
  • v:添加垂直直线,指定x轴上的值。
  • reg:添加回归线,使用回归模型的结果。
  • coef:添加自定义系数的直线。
  1. # 添加斜率为1、截距为0的直线
  2. plot(x, y)
  3. abline(a = 0, b = 1)
  4. # 添加水平直线
  5. plot(x, y)
  6. abline(h = 5, col = "red")
  7. # 添加垂直直线
  8. plot(x, y)
  9. abline(v = 3, col = "blue")
  10. # 添加回归线(使用线性回归模型的结果)
  11. plot(x, y)
  12. #lm() 函数用于拟合线性回归模型
  13. #y ~ x 表示以 x 为自变量,y 为因变量进行拟合
  14. fit <- lm(y ~ x)
  15. abline(reg = fit, col = "green")
  16. # 添加自定义系数的直线
  17. plot(x, y)
  18. abline(a = 2.5, b = -0.5, col = "purple")

lines:添加直线

  • x:指定线条的 x 坐标值。
  • y:指定线条的 y 坐标值。
  • type:指定线条的类型,如 "l"(直线)、"b"(带有下垂直线段的折线)、"o"(带有上垂直线段的折线)、"s"(步进函数)、"h"(阶梯函数)等。
  • lty:指定线条的线型。
  • lwd:指定线条的宽度。
  • col:指定线条的颜色。
  1. # 绘制直线
  2. plot(x, y)
  3. lines(x = c(1, 2, 3), y = c(2, 4, 3), col = "blue")
  4. # 绘制折线
  5. plot(x, y)
  6. lines(x = c(1, 2, 3, 4), y = c(2, 4, 3, 5), type = "b", col = "red")
  7. # 绘制阶梯函数
  8. plot(x, y)
  9. lines(x = c(1, 2, 3, 4), y = c(2, 4, 3, 5), type = "h", col = "green")
  10. # 绘制自定义线型和宽度的线条
  11. plot(x, y)
  12. lines(x, y, lty = 2, lwd = 2, col = "purple")

text:添加标签

参数

  • x:指定标签的 x 坐标。
  • y:指定标签的 y 坐标。
  • labels:指定要显示的文本标签内容。
  • pos:指定标签相对于坐标点的位置,可选值包括 1(下方)、2(左下方)、3(左方)、4(左上方)、5(上方)、6(右上方)、7(右方)和 8(右下方)。
  • col:指定标签的颜色。
  • cex:指定标签的字体大小缩放因子。
  • font:指定标签的字体类型,如 "plain"(普通字体)、"bold"(粗体)、"italic"(斜体)等。
  1. # 创建散点图并添加标签
  2. plot(x, y)
  3. text(x = c(1, 2, 3), y = c(2, 4, 3), labels = c("Label 1", "Label 2", "Label 3"))
  4. # 添加带有样式的标签
  5. plot(x, y)
  6. text(x = c(1, 2, 3), y = c(2, 4, 3), labels = c("Label 1", "Label 2", "Label 3"), pos = 4, col = "blue", font = 2, cex = 1.5)

legend:添加图例

参数

  • x:指定图例的 x 坐标位置。
  • y:指定图例的 y 坐标位置。
  • legend:一个字符向量,包含要显示的图例标签。
  • fill:一个字符向量,指定图例中各个标签对应的填充颜色。
  • col:一个字符向量,指定图例中各个标签对应的线条或点的颜色。
  • pch:一个整数向量,指定图例中各个标签对应的点的形状。
    • 0:一个没有任何标记的点。
    • 1:一个小圆点(默认值)。
    • 2:一个小三角形。
    • 3:一个小菱形。
    • 4:一个小正方形。
    • 5:一个小平行四边形。
    • 6:一个小五角星。
  • 其他整数值:自定义的点的形状,例如 pch = 8
  • lty:一个整数向量,指定图例中各个标签对应的线条的类型。
    • 0:不画线条。
    • 1:实线(默认值)。
    • 2:虚线。
    • 3:点线。
    • 4:点划线。
    • "blank":空白线条,即没有线条。
    • 其他整数值:自定义的线条类型,例如 lty = 5
  • bty:一个字符,指定图例的边界类型。可选值包括 "o"(默认,边界框),"n"(无边界)和 "l"(仅左边界)。
  • cex:一个数值,指定图例中文本(标签)的大小缩放因子。
  • title:一个字符,指定图例的标题。
  1. x <- c(1, 2, 3, 4, 5)
  2. y <- c(2, 4, 3, 5, 1)
  3. plot(x, y, type = "b", pch = 16, col = "blue", main = "散点图示例")
  4. points(x, y^2, pch = 17, col = "red")
  5. lines(x, y, col = "green")
  6. legend("topright", legend = c("数据1", "数据2", "线条"),
  7. pch = c(16, 17, NA), col = c("blue", "red", "green"),
  8. lty = c(NA, NA, 1), title = "图例标题")


如学习到新内容会补充,整理不易,如有错误或遗漏,请大佬们不吝赐教!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/66066
推荐阅读
相关标签