要使用 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()输出结果
如果您将上述所有片段作为单个程序执行,它会生成以下输出 -