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

简介: R语言绘图相关函数(含实例)

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

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():新建画板

> 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")
> 
>


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轴的标签。

# 创建一个向量作为示例数据
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轴标签
)


dotchart:绘制点图的函数

参数


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")


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: 一个函数,用于自定义对角线上每个小图的绘制内容。

# 创建数据
data <- iris[, 1:4]   # 使用鸢尾花数据集的前四列作为示例数据
# 使用pair()绘制散点图矩阵
pairs(data)


boxplot:绘制箱线图

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)  # 指定异常值
)


scatterplot3D: 绘制三维散点图

常用参数


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轴标签
)


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

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)设置绘制区域布局


# 将画布分成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)

title:设置标题

参数


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:自定义坐标轴的外观和属性

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:添加轴密度

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")

grid:添加网格

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:添加直线

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")


lines:添加直线

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")

text:添加标签

参数


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)

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:一个字符,指定图例的标题。

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 = "图例标题")



目录
相关文章
|
22天前
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
40 3
|
3月前
|
数据可视化 数据挖掘 数据处理
R语言函数与自定义函数:提高代码的复用性
【8月更文挑战第27天】 自定义函数是R语言编程中不可或缺的一部分,它们通过封装复杂的逻辑和提供灵活的参数化设计,极大地提高了代码的复用性和可维护性。通过掌握自定义函数的基本语法和高级技巧,我们可以编写出更加高效、可读的R语言代码,从而更好地应对复杂的数据分析和统计建模任务。
|
6月前
|
数据可视化
R语言广义线性混合模型GLMMs在生态学中应用可视化2实例合集|附数据代码2
R语言广义线性混合模型GLMMs在生态学中应用可视化2实例合集|附数据代码
|
6月前
|
数据可视化 数据挖掘
R语言广义线性混合模型GLMMs在生态学中应用可视化2实例合集|附数据代码1
R语言广义线性混合模型GLMMs在生态学中应用可视化2实例合集|附数据代码
|
6月前
|
机器学习/深度学习 监控 数据可视化
R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例2
R语言SOM神经网络聚类、多层感知机MLP、PCA主成分分析可视化银行客户信用数据实例
|
6月前
|
图形学
R语言其他相关函数(各函数解析含实例,可供查询)
R语言其他相关函数(各函数解析含实例,可供查询)
208 0
|
6月前
|
移动开发 数据可视化
广义线性模型beta二项分布的淋巴结疾病风险预测可视化R语言2实例合集|附数据代码
广义线性模型beta二项分布的淋巴结疾病风险预测可视化R语言2实例合集|附数据代码
|
6月前
|
机器学习/深度学习 人工智能 数据可视化
【视频】R语言支持向量回归SVR预测水位实例讲解|附代码数据
【视频】R语言支持向量回归SVR预测水位实例讲解|附代码数据
|
2月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
6月前
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化