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

要使用 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()
输出结果

如果您将上述所有片段作为单个程序执行,它会生成以下输出 -

猜你喜欢