如何在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()
輸出
如果將以上所有程式碼片段作為一個程式執行,則會生成以下輸出:
廣告