gplotsでヒートマップを描くとき、layout関数で幅などを変えることができる。
irisのデータを用いて書いてみる。ヒートマップの要素は以下の通りに分割されて、それぞれ番号がついている。
以下のように実行すると、lmat=matrix(c(4,2,3,1), ncol=2)は上記と同じ並びになるため、上図と同じ図を得ることができる。
1 2 3 4 5 6 7 8 9 | library(datasets) iris <- iris library(gplots) heatmap.2(as.matrix(iris[,-5]), col=bluered(50), scale="none", key=TRUE, symkey=FALSE, density.info="none", trace="none", cexRow=0.3, cexCol = 0.5, lmat=matrix(c(4,2,3,1), ncol=2)) dev.off() |
もしlmat=matrix(c(4,3,2,1), ncol=2)と入力すると、以下のような図になる。
ヒートマップの幅は、lwidやlhei関数で相対幅を指定することで変更できる。
heatmap.2(as.matrix(iris[,-5]), col=bluered(50), scale="none", key=TRUE, symkey=FALSE, density.info="none", trace="none", cexRow=0.3, cexCol = 0.5, lmat=matrix(c(4,2,3,1), ncol=2), lwid=c(1,5),lhei=c(1,5)) dev.off()
また、左上のカラーキーは keysize関数で変更できる。また、フォントサイズはkey.par = list(cex=###))で指定できる。以下ではkeysize=0.01とするとともに、lhei=c(1,10)として、ヒートマップの相対高さを増やしている。
heatmap.2(as.matrix(iris[,-5]), col=bluered(50), scale="none", key=TRUE, symkey=FALSE, density.info="none", trace="none", cexRow=0.3, cexCol = 0.5, lmat=matrix(c(4,2,3,1), ncol=2), lwid=c(1,5),lhei=c(1,10), keysize=0.01, key.par = list(cex=0.4))
No comments:
Post a Comment