1. ホーム
  2. r

Rでscatterplotのプロット点をより透明にする方法は?

2023-09-26 03:42:20

質問

3列の行列があります。プロットは、列1と列2の値に基づいてポイントによって作成されますが、列2に基づいて色付けされています(6つの異なるグループ)。私はすべてのポイントを正常にプロットすることができますが、最後のプロットグループ(グループ6)は紫色が割り当てられ、他のグループのプロットを覆い隠してしまいます。プロットポイントをより透明にする方法はありますか?

s <- read.table("/.../parse-output.txt", sep="\t") 
dim(s) 
[1] 67124     3
x <- s[,1] 
y <- s[,2]
z <- s[,3] 
cols <- cut(z, 6, labels = c("pink", "red", "yellow", "blue", "green", "purple"))
plot(x, y, main= "Fragment recruitment plot - FR-HIT", ylab = "Percent identity", xlab = "Base pair position", col = as.character(cols), pch=16) 

どのように解決するのですか?

そうでない場合は、関数 alpha をパッケージで scales で、色のベクトルを直接入力することができます (たとえそれがあなたの例のように因子であっても)。

library(scales)
cols <- cut(z, 6, labels = c("pink", "red", "yellow", "blue", "green", "purple"))
plot(x, y, main= "Fragment recruitment plot - FR-HIT", 
     ylab = "Percent identity", xlab = "Base pair position", 
     col = alpha(cols, 0.4), pch=16) 
# For an alpha of 0.4, i. e. an opacity of 40%.