目录
plot:可用于创建多种类型的图形
dev.new():新建画板
hist:绘制直方图
dotchart:绘制点图的函数
pie:绘制饼图
pair:绘制散点图矩阵
boxplot:绘制箱线图
scatterplot3D: 绘制三维散点图
par:修改图形设备的参数
title:设置标题
axis:自定义坐标轴的外观和属性
rug:添加轴密度
grid:添加网格
abline:添加直线
lines:添加直线
text:添加标签
legend:添加图例
plot(x, y, type = "p", ...)
参数
x
:要绘制的数据的x轴坐标。y
:要绘制的数据的y轴坐标。type
:要绘制的图形类型。常见的值包括:
"p"
:散点图(默认值)。"l"
:线图。"b"
:线图和散点图(同时显示)。"h"
:步进图。"s"
:阶梯图。"n"
:不绘制图形,只创建绘图区域。
(1)绘制散点图
x <- c(1, 2, 3, 4, 5)
y <- c(2, 4, 6, 8, 10)
plot(x, y, type = "p", main = "Scatter Plot", xlab = "X", ylab = "Y")
(2)绘制线图
x <- c(1, 2, 3, 4, 5)
y <- c(2, 4, 6, 8, 10)
plot(x, y, type = "l", main = "Line Plot", xlab = "X", ylab = "Y")
(3)绘制柱状图
x <- c("A", "B", "C", "D")
y <- c(10, 15, 7, 12)
plot(x, y, type = "b", main = "Bar Chart", xlab = "Categories", ylab = "Values")
#这里会出现报错
#plot()函数默认将输入数据视为数值型,在尝试绘制非数值型数据时会导致错误
#可以使用barplot()
x <- c("A", "B", "C", "D")
y <- c(10, 15, 7, 12)
barplot(y, names.arg = x, main = "Bar Chart", xlab = "Categories", ylab = "Values")
> dev.new()
NULL
> x <- c("A", "B", "C", "D")
> y <- c(10, 15, 7, 12)
>
> barplot(y, names.arg = x, main = "Bar Chart", xlab = "Categories", ylab = "Values")
>
>
参数
x
:要创建直方图的数据向量或数值矩阵。breaks
:用于控制直方图的分箱数目。可以是一个整数来指定分箱的数量,也可以是一个向量来指定分箱的边界。freq
:一个逻辑值,指示是否绘制直方图的频率(默认为TRUE)。如果设置为FALSE,则绘制密度图。probability
:一个逻辑值,指示是否绘制概率密度直方图(默认为FALSE)。如果设置为TRUE,则纵轴将标准化为表示密度而不是计数。include.lowest
:一个逻辑值,指示是否包含第一个分箱区间的左边界(默认为TRUE)。right
:一个逻辑值,指示分箱区间是否包含右边界,默认为TRUE。如果设置为FALSE,则分箱区间是左开右闭的。density
:一个逻辑值,指示是否绘制概率密度线(默认为NULL)。angle
:控制直方图的画板角度,默认为45度。col
:直方图的填充颜色。border
:直方图的边框颜色。main
:直方图的标题。xlab
:x轴的标签。ylab
:y轴的标签。
# 创建一个向量作为示例数据
data <- c(22, 34, 16, 28, 30, 20, 24, 18, 21, 31)
# 使用一些常用参数来自定义直方图的外观
hist(data,
breaks = 5, # 分成5个分箱
col = "blue", # 设置直方图的填充颜色为蓝色
border = "white", # 设置直方图的边界颜色为白色
main = "Histogram", # 设置直方图的标题
xlab = "Values", # 设置x轴标签
ylab = "Frequency" # 设置y轴标签
)
参数
x
: 表示要绘制点图的数值向量。labels
: 表示与每个数值对应的类别名称的向量。groups
: 表示对数据进行分组的因子或向量。可以根据分组对点图进行着色。color
: 表示点的颜色。可以是一个预定义的颜色名称或颜色代码。pch
: 表示点的形状。可以是一个整数或字符,代表不同的形状。cex
: 表示点的大小。可以是一个数值,指定点的放大倍数。main
: 表示点图的标题。xlab
: 表示x轴的标签。ylab
: 表示y轴的标签。xlim
: 表示x轴的范围。ylim
: 表示y轴的范围。
# 创建数据
categories <- c("Category A", "Category B", "Category C", "Category D")
values <- c(10, 15, 7, 12)
# 使用dotchart绘制点图
dotchart(values, labels = categories, main = "Dot Chart", xlab = "Values")
参数
x
: 表示要绘制饼图的数值向量。labels
: 表示与每个数值对应的类别名称的向量。如果指定了该参数,那么标签将显示在饼图中的每个扇区旁边。main
: 表示饼图的标题。col
: 表示饼图的颜色向量。可以是一个预定义的颜色名称向量或自定义颜色代码向量。border
: 表示饼图扇区的边界颜色。可以是一个颜色名称或颜色代码。clockwise
: 表示饼图绘制的方向。默认为TRUE,表示顺时针绘制;设为FALSE时表示逆时针绘制。init.angle
: 表示饼图开始绘制的角度,默认为90度,即从12点钟方向开始绘制。labels.dist
: 表示标签离饼图的距离。可以是一个数值,单位为“像素”(px),或一个比例。labels.bg
: 表示标签的背景色。可以是一个颜色名称或颜色代码,用于填充标签的背景。radius
: 表示饼图的半径,可以是一个数值或一个比例。
参数
x
: 数据框或矩阵,包含要绘制散点图矩阵的变量。labels
: 变量名的向量,用于显示在散点图矩阵中每个小图的轴标签上。pch
: 散点的形状,默认为1(圆点)。可以是一个整数或字符向量,用于指定不同形状的点。col
: 散点的颜色,默认为黑色。可以是一个颜色名称或颜色代码向量,用于指定不同颜色的点。bg
: 散点的填充颜色,默认为空。可以是一个颜色名称或颜色代码向量,用于指定点的填充颜色。cex
: 散点的大小,默认为1。可以是一个数值或数值向量,用于指定不同大小的点。main
: 散点图矩阵的主标题。sub
: 散点图矩阵的副标题。lower.panel
: 一个函数,用于自定义非对角线上每个小图的绘制内容。upper.panel
: 一个函数,用于自定义非对角线上每个小图的绘制内容。diag.panel
: 一个函数,用于自定义对角线上每个小图的绘制内容。
# 创建数据
data <- iris[, 1:4] # 使用鸢尾花数据集的前四列作为示例数据
# 使用pair()绘制散点图矩阵
pairs(data)
x
:要创建箱线图的数据向量或数值矩阵。horizontal
:一个逻辑值,指示是否绘制水平箱线图(默认为FALSE)。如果设置为TRUE,则绘制水平箱线图。notch
:一个逻辑值,指示是否绘制缺口箱线图(默认为FALSE)。如果设置为TRUE,则绘制缺口箱线图。varwidth
:一个逻辑值,指示是否根据箱子的样本数目调整箱子的宽度(默认为FALSE)。如果设置为TRUE,则根据样本数目调整箱子的宽度。outline
:一个逻辑值或字符向量,指示是否绘制异常值的点或字符(默认为TRUE)。如果设置为FALSE,则不绘制异常值。col
:箱线图的颜色。border
:箱线图的边框颜色。main
:箱线图的标题。xlab
:x轴的标签。ylab
:y轴的标签。
# 创建一个向量作为示例数据
data <- c(22, 34, 16, 28, 30, 20, 24, 18, 21, 31)
# 使用一些常用参数来自定义箱线图的外观
boxplot(data,
col = "blue", # 设置箱线图的颜色为蓝色
border = "white", # 设置箱线图的边框颜色为白色
main = "Boxplot", # 设置箱线图的标题
xlab = "Data", # 设置x轴标签
ylab = "Values", # 设置y轴标签
notch = TRUE # 绘制缺口箱线图
)
将notch参数设置为FALSE,并使用out参数指定了两个异常值(10和40)
# 创建一个向量作为示例数据
data <- c(22, 34, 16, 28, 30, 20, 24, 18, 21, 31)
# 使用notch=FALSE和带有异常值的out参数
boxplot(data,
col = "blue", # 设置箱线图的颜色为蓝色
main = "Boxplot", # 设置箱线图的标题
xlab = "Data", # 设置x轴标签
ylab = "Values", # 设置y轴标签
notch = FALSE, # 不绘制缺口箱线图
out = c(10, 40) # 指定异常值
)
常用参数
x
,y
,z
:要绘制的数据点的三个变量。color
:指定散点的颜色。可以是一个字符向量或颜色名称。例如,"blue"表示蓝色,"#FF0000"表示红色。pch
:指定散点的形状。可以是一个整数或字符。例如,16表示实心圆,17表示实心三角形。main
:设置散点图的标题。xlab
,ylab
,zlab
:设置x轴、y轴和z轴的标签。type
:指定绘图类型。默认值为"p"表示散点图,也可以选择其他类型如"l"表示连线图。lty
:指定连线的类型。默认值为"solid"表示实线,也可以选择其他类型如"dashed"表示虚线。theta
,phi
:控制视角的角度,用于旋转和调整观察者的视图。box
:设置是否绘制包围盒。默认值为TRUE表示绘制边框,FALSE表示不绘制。
# 创建三个变量作为示例数据
x <- c(1, 2, 3, 4, 5)
y <- c(6, 7, 8, 9, 10)
z <- c(11, 12, 13, 14, 15)
# 绘制三维散点图
scatterplot3d(x, y, z,
color = "blue", # 设置散点的颜色为蓝色
pch = 16, # 设置散点的形状为实心圆
main = "3D Scatter Plot", # 设置图标题
xlab = "X", # 设置x轴标签
ylab = "Y", # 设置y轴标签
zlab = "Z" # 设置z轴标签
)
常见参数
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)设置绘制区域布局
# 将画布分成2行2列,以便绘制4个图形
par(mfrow = c(2, 2))
(2)设置绘图区域边距
# 设置下、左、上、右的边距分别为1、2、1、2
par(mar = c(1, 2, 1, 2))
(3)设置整个图形区域的边距
# 设置下、左、上、右的边距分别为1、1、1、1
par(oma = c(1, 1, 1, 1))
(4)设置刻度标签、轴标题和字体大小
# 设置刻度标签、轴标题的字体大小为1.5倍原始大小
par(cex.axis = 1.5, cex.lab = 1.5)
参数
main
:指定主标题的文本内容。sub
:指定副标题的文本内容。xlab
:指定x轴标题的文本内容。ylab
:指定y轴标题的文本内容。line
:指定标题相对于图形的位置。默认值为0.5,表示居中放置。负值将标题放置在图形外部,正值将标题放置在图形内部。col.main
:指定主标题的文字颜色。col.sub
:指定副标题的文字颜色。col.lab
:指定x轴和y轴标题的文字颜色。cex.main
:指定主标题的字体缩放系数,用于调整字体大小。cex.sub
:指定副标题的字体缩放系数,用于调整字体大小。cex.lab
:指定x轴和y轴标题的字体缩放系数,用于调整字体大小。font.main
:指定主标题的字体样式,默认为1表示标准字体。其他可用的字体样式有"bold"(粗体)、"italic"(斜体)等。font.sub
:指定副标题的字体样式。font.lab
:指定x轴和y轴标题的字体样式。
title(
main = "Scatter Plot",
sub = "Data Analysis",
xlab = "X-axis",
ylab = "Y-axis",
col.main = "blue",
col.sub = "red",
col.lab = "green",
cex.main = 1.5,
cex.sub = 1,
cex.lab = 1.2,
font.main = 2,
font.sub = "italic",
font.lab = 3
)
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
:控制刻度标签的字体样式。
# 自定义x轴
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)
# 自定义y轴
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(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
:控制轴密度标记的颜色。
# 在散点图上添加轴密度标记
plot(x, y)
rug(x, side = 1, ticksize = 0.03, col = "blue")
# 在直方图上添加轴密度标记
hist(x)
rug(x, side = 1, ticksize = 0.03, col = "red")
# 在密度图上添加轴密度标记
plot(density(x))
rug(x, side = 1, ticksize = 0.03, col = "green")
nx
:指定网格线在x轴上的数量。ny
:指定网格线在y轴上的数量。col
:设置网格线的颜色。lty
:设置网格线的类型。lwd
:设置网格线的宽度。
# 添加默认的灰色虚线网格线
plot(x, y)
grid()
# 添加自定义颜色、线型和线宽的网格线
plot(x, y)
grid(col = "blue", lty = "dashed", lwd = 1)
# 添加指定数量的网格线
plot(x, y)
grid(nx = 5, ny = 5)
abline(a = NULL, b = NULL, h = NULL, v = NULL, reg = NULL, coef = NULL, ...)
a
:直线的截距。b
:直线的斜率。h
:添加水平直线,指定y轴上的值。v
:添加垂直直线,指定x轴上的值。reg
:添加回归线,使用回归模型的结果。coef
:添加自定义系数的直线。
# 添加斜率为1、截距为0的直线
plot(x, y)
abline(a = 0, b = 1)
# 添加水平直线
plot(x, y)
abline(h = 5, col = "red")
# 添加垂直直线
plot(x, y)
abline(v = 3, col = "blue")
# 添加回归线(使用线性回归模型的结果)
plot(x, y)
#lm() 函数用于拟合线性回归模型
#y ~ x 表示以 x 为自变量,y 为因变量进行拟合
fit <- lm(y ~ x)
abline(reg = fit, col = "green")
# 添加自定义系数的直线
plot(x, y)
abline(a = 2.5, b = -0.5, col = "purple")
x
:指定线条的 x 坐标值。y
:指定线条的 y 坐标值。type
:指定线条的类型,如 "l"(直线)、"b"(带有下垂直线段的折线)、"o"(带有上垂直线段的折线)、"s"(步进函数)、"h"(阶梯函数)等。lty
:指定线条的线型。lwd
:指定线条的宽度。col
:指定线条的颜色。
# 绘制直线
plot(x, y)
lines(x = c(1, 2, 3), y = c(2, 4, 3), col = "blue")
# 绘制折线
plot(x, y)
lines(x = c(1, 2, 3, 4), y = c(2, 4, 3, 5), type = "b", col = "red")
# 绘制阶梯函数
plot(x, y)
lines(x = c(1, 2, 3, 4), y = c(2, 4, 3, 5), type = "h", col = "green")
# 绘制自定义线型和宽度的线条
plot(x, y)
lines(x, y, lty = 2, lwd = 2, col = "purple")
参数
x
:指定标签的 x 坐标。y
:指定标签的 y 坐标。labels
:指定要显示的文本标签内容。pos
:指定标签相对于坐标点的位置,可选值包括 1(下方)、2(左下方)、3(左方)、4(左上方)、5(上方)、6(右上方)、7(右方)和 8(右下方)。col
:指定标签的颜色。cex
:指定标签的字体大小缩放因子。font
:指定标签的字体类型,如 "plain"(普通字体)、"bold"(粗体)、"italic"(斜体)等。
# 创建散点图并添加标签
plot(x, y)
text(x = c(1, 2, 3), y = c(2, 4, 3), labels = c("Label 1", "Label 2", "Label 3"))
# 添加带有样式的标签
plot(x, y)
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)
参数
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
:一个字符,指定图例的标题。
x <- c(1, 2, 3, 4, 5)
y <- c(2, 4, 3, 5, 1)
plot(x, y, type = "b", pch = 16, col = "blue", main = "散点图示例")
points(x, y^2, pch = 17, col = "red")
lines(x, y, col = "green")
legend("topright", legend = c("数据1", "数据2", "线条"),
pch = c(16, 17, NA), col = c("blue", "red", "green"),
lty = c(NA, NA, 1), title = "图例标题")
如学习到新内容会补充,整理不易,如有错误或遗漏,请大佬们不吝赐教!!