如何使用 R 中的 ggplot2 根据阈值为散点图点着色?

r programmingserver side programmingprogramming更新于 2025/4/9 16:22:17

要使用 ggplot2 根据阈值为散点图点着色,我们首先需要定义一个具有阈值的列,然后我们可以在 aes 中使用该列进行着色。可以使用 cut 函数创建具有阈值的列。

查看下面给出的示例以了解如何完成。

示例

以下代码片段创建了一个示例数据框 −

x<-rpois(20,5)
y<-rpois(20,2)
df<-data.frame(x,y)
df

输出

创建以下数据框 −

   x  y
1  6  0
2  5  5
3  7  2
4  4  0
5  4  1
6  5  0
7  9  3
8  4  1
9  7  1
10 5  2
11 4  3
12 8  3
13 4  0
14 9  0
15 5  1
16 3  3
17 7  1
18 2  2
19 5  3
20 5  1

要根据 y 列中的值创建阈值列,请将以下代码添加到上述代码片段中 −

x<-rpois(20,5)
y<-rpois(20,2)
df<-data.frame(x,y)
df$Threshold<-cut(df$y,breaks=c(-Inf,2,Inf),labels=c("<=2",">2"))
df

输出

如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −

   x  y Threshold
1  6  0  <=2
2  5  5  >2
3  7  2  <=2
4  4  0  <=2
5  4  1  <=2
6  5  0  <=2
7  9  3  >2
8  4  1  <=2
9  7  1  <=2
10 5  2  <=2
11 4  3  >2
12 8  3  >2
13 4  0  <=2
14 9  0  <=2
15 5  1  <=2
16 3  3  >2
17 7  1  <=2
18 2  2  <=2
19 5  3  >2
20 5  1  <=2

要加载 ggplot2 包并根据阈值列在 x 和 y 之间创建具有不同点颜色的散点图,请将以下代码添加到上面的代码片段中 −

library(ggplot2)
ggplot(df,aes(x,y,color=Threshold))+geom_point()

输出

如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −


相关文章