1

2 つの同じサイズのマトリックスの違いを強調するために、R で 1 つのマトリックスに赤の色合い、もう 1 つのマトリックスに緑の色合いを使用して、半透明の方法で 2 つを重ね合わせて表示したいと思います (それらが同一の場合は黄色になります)。

私が持っているマトリックスを1つだけ表示するには

library(grDevices)
matr=replicate(10, rnorm(20,mean=0.5,sd=0.1))    
colpalette=colorRampPalette(c("black", "red")) 
image(matr^0.2,col = colpalette(1000),useRaster=T)

これをどのように適応させて2つのマトリックスを表示matr1matr2、赤/緑で重ね合わせる必要があるか、誰にもわかりませんか?

また、結果の画像の明るさとコントラストを少し制御するための最良の方法は何でしょうか? 現在使用している電力変換よりも優れた方法はありますか?

乾杯、トム

4

1 に答える 1

0

Ha は、最初に 2 つの行列間の log2(差) を計算し、それをパレットを使用して 0 でブレークしてプロットすることにより、簡単な解決策を見つけました。それは理にかなっていますよね?

library(grDevices)
matr1=replicate(10, rnorm(20,mean=0.5,sd=0.1)) 
matr2=replicate(10, rnorm(20,mean=0.5,sd=0.1))
matrdiff=log2(matr1/matr2)
nbcolors=1000
colpalette=colorRampPalette(c("red","yellow","green"))(nbcolors)
breaks = c(seq(min(matrdiff), 0, length.out=nbcolors/2), 0, 
           seq(0,max(matrdiff), length.out=nbcolors/2))
image(matrdiff,col=colpalette,breaks=breaks,useRaster=T)
于 2012-12-14T15:15:31.493 に答える