Rのimage関数を使って、簡単色グラデーション表示
連鎖不平衡係数などの値を格納した、正方行列型の以下のようなテキストファイル、"hoge.txt"を作ったとする。
Rのimage()関数で、これをグレースケールで表したいとする。84段階表示なら
HOGE<-read.table(file="hoge.txt") HOGEmatrix<-as.matrix(HOGE) q<-84 image(1:nrow(HOGEmatrix),1:ncol(HOGEmatrix),HOGEmatrix,col=gray((q:0)/q))
色をつけるなら、rgbを使って、
redcolor<-rgb(red=1,(q:0)/q,(q:0)/q, names=paste("red",0:q,sep="."))
とすると、q=84=256/3なので、以下のように、"#xxyyzz"のxx部分が赤のff=256(16進数で、0,1,2,3,4,5,6,7,8,9,a=10,b=11,c=12,d=13,e=14,f=15),緑成分のyyと青成分のzzが3つおきのグラデーションになった赤グラデーションスケールができるので、
> redcolor red.0 red.1 red.2 red.3 red.4 red.5 red.6 "#FFFFFF" "#FFFCFC" "#FFF9F9" "#FFF6F6" "#FFF3F3" "#FFF0F0" "#FFEDED" red.7 red.8 red.9 red.10 red.11 red.12 red.13 "#FFEAEA" "#FFE7E7" "#FFE4E4" "#FFE1E1" "#FFDEDE" "#FFDBDB" "#FFD8D8" red.14 red.15 red.16 red.17 red.18 red.19 red.20 "#FFD5D5" "#FFD1D1" "#FFCECE" "#FFCBCB" "#FFC8C8" "#FFC5C5" "#FFC2C2" red.21 red.22 red.23 red.24 red.25 red.26 red.27 "#FFBFBF" "#FFBCBC" "#FFB9B9" "#FFB6B6" "#FFB3B3" "#FFB0B0" "#FFADAD" red.28 red.29 red.30 red.31 red.32 red.33 red.34 "#FFAAAA" "#FFA7A7" "#FFA4A4" "#FFA1A1" "#FF9E9E" "#FF9B9B" "#FF9898" red.35 red.36 red.37 red.38 red.39 red.40 red.41 "#FF9595" "#FF9292" "#FF8F8F" "#FF8C8C" "#FF8989" "#FF8686" "#FF8383" red.42 red.43 red.44 red.45 red.46 red.47 red.48 "#FF8080" "#FF7C7C" "#FF7979" "#FF7676" "#FF7373" "#FF7070" "#FF6D6D" red.49 red.50 red.51 red.52 red.53 red.54 red.55 "#FF6A6A" "#FF6767" "#FF6464" "#FF6161" "#FF5E5E" "#FF5B5B" "#FF5858" red.56 red.57 red.58 red.59 red.60 red.61 red.62 "#FF5555" "#FF5252" "#FF4F4F" "#FF4C4C" "#FF4949" "#FF4646" "#FF4343" red.63 red.64 red.65 red.66 red.67 red.68 red.69 "#FF4040" "#FF3D3D" "#FF3A3A" "#FF3737" "#FF3434" "#FF3131" "#FF2E2E" red.70 red.71 red.72 red.73 red.74 red.75 red.76 "#FF2A2A" "#FF2727" "#FF2424" "#FF2121" "#FF1E1E" "#FF1B1B" "#FF1818" red.77 red.78 red.79 red.80 red.81 red.82 red.83 "#FF1515" "#FF1212" "#FF0F0F" "#FF0C0C" "#FF0909" "#FF0606" "#FF0303" red.84 "#FF0000"
これを使って、
image(1:nrow(HOGEmatrix),1:ncol(HOGEmatrix),HOGEmatrix,col=redcolor)
としてもよい。
同様に、緑や青のグラデーションは
greencolor<-rgb((q:0)/q,green=1,(q:0)/q, names=paste("green",0:q,sep=".")) image(1:nrow(HOGEmatrix),1:ncol(HOGEmatrix),HOGEmatrix,col=greencolor)
bluecolor<-rgb((q:0)/q,(q:0)/q,blue=1, names=paste("blue",q:0,sep=".")) image(1:nrow(HOGEmatrix),1:ncol(HOGEmatrix),HOGEmatrix,col=bluecolor)
0.19999999999999998 0.6250000000000001 0.4000000000000001 0.4000000000000001 0.6250000000000001 0.4000000000000001 0.25 0.4000000000000001 0.4000000000000001 0 0.025000000000000005 0.625 0.625 0.025000000000000005 0.625 0.0 0.10000000000000002 0.10000000000000002 0 0 0.16666666666666666 0.16666666666666666 1.0 0.16666666666666666 0.42857142857142855 0.16666666666666666 0.16666666666666666 0 0 0 0.3402777777777778 0.16666666666666666 1.0 0.12698412698412698 0.02777777777777777 0.3402777777777778 0 0 0 0 0.16666666666666666 0.3402777777777778 0.12698412698412698 0.3402777777777778 0.3402777777777778 0 0 0 0 0 0.16666666666666666 0.42857142857142855 0.16666666666666666 0.16666666666666666 0 0 0 0 0 0 0.12698412698412698 0.02777777777777777 0.3402777777777778 0 0 0 0 0 0 0 0.00793650793650794 0.6428571428571429 0 0 0 0 0 0 0 0 0.02777777777777777 0 0 0 0 0 0 0 0 0
- ここに、続き。