📅  最后修改于: 2023-12-03 14:39:27.318000             🧑  作者: Mango
在R语言中,我们可以使用base图形来绘制各种类型的图形,包括散点图、折线图等。在这些图形中,我们通常需要给不同的数据点或曲线设置不同的颜色,以便于区分不同的组别或变量。本文将介绍在base图形中如何为不同的点和线设置不同的颜色。
首先,我们来看一下如何为散点图中的数据点设置不同的颜色。假设我们有一个数据框df,其中有两列数据x和y,我们希望将x和y分别绘制成散点图,并将x和y的值分别用不同的颜色表示。
# 生成数据
set.seed(1234)
df <- data.frame(x = rnorm(20), y = rnorm(20))
# 绘制散点图
plot(df$x, df$y, col = ifelse(df$x>0, "red", "blue"), pch = 19)
上述代码使用了ifelse
函数来根据x的值判断使用红色还是蓝色来表示数据点的颜色。此外,还需要注意pch
参数,它表示散点图中的数据点所使用的符号的类型,pch=19
表示使用实心圆点。
同时,我们也可以使用多个符号类型和颜色来表示不同的变量,例如:
# 生成数据
set.seed(1234)
df <- data.frame(x1 = rnorm(20), y1 = rnorm(20),
x2 = rnorm(20, mean = 1.5), y2 = rnorm(20, mean = 1.5))
# 绘制散点图
plot(df$x1, df$y1, col = "red", pch = 19, xlim = c(-3, 5), ylim = c(-3, 5))
points(df$x2, df$y2, col = "blue", pch = 21, bg = "white")
legend("topright", legend = c("Group 1", "Group 2"),
col = c("red", "blue"), pch = c(19, 21), bty = "n")
上述代码中我们创建了两个不同的数据集,分别表示不同的组别,然后分别使用不同的符号类型和颜色来绘制散点图。同时,我们使用points
函数将两个数据集分别添加在同一个图形上,并使用legend
函数添加图例来表示不同的组别和颜色符号。
在折线图中,同样也需要为不同的线段设置不同的颜色,以便于区分不同的变量或组别。下面我们来看一下如何为折线图中的每一个线段设置不同的颜色。
# 生成数据
set.seed(1234)
df <- data.frame(x = rnorm(10), y = rnorm(10), group = rep(1:2, 5))
# 绘制折线图
plot(df$x, df$y, type = "n")
for(i in 1:2){
lines(subset(df, group == i)[,1:2], col = i)
}
legend("topright", legend = c("Group 1", "Group 2"),
col = 1:2, lty = 1, bty = "n")
上述代码中,我们为数据框df添加了一个新的列group,用来表示不同的组别。在绘制折线图时,我们使用type="n"
参数表示只绘制坐标轴,然后使用lines
函数绘制每个组别的折线,参数中指定col
参数用来控制每个折线的颜色。最后,我们使用legend
函数添加图例。
总结
本文介绍了在base图形中,如何为散点图和折线图中的不同点和线设置不同的颜色。需要注意的是,在为图形设置颜色时,我们一般使用单独一列数据来表示颜色,或者使用ifelse等函数根据条件判断来设置颜色。同时,我们还可以使用不同的符号类型和背景颜色等参数来进一步区分不同的变量或组别。