読者です 読者をやめる 読者になる 読者になる

廿TT

譬如水怙牛過窓櫺 頭角四蹄都過了 因甚麼尾巴過不得

image 関数のヒートマップに行ラベルと列ラベルをつける

R
library(ca)
par(mai = c(0.85, 3, 0.68, 0.35)) #余白の調整
image(1:26,1:12,t(apply(author,2,rev)),
xlab="",ylab="",xaxt="n",yaxt="n",col=gray.colors(12,start=1,end=0))
axis(side=1,at=1:26,labels=colnames(author))
axis(side=2,at=12:1,labels=rownames(author),las=TRUE,cex.axis=0.8)

f:id:abrahamcow:20150330143919p:plain

  • ポイント
    • imge(x,y,z) の x座標とy座標を明示的に指定する必要がある。
    • image関数はいちばん左下が行列の (1,1) 成分、その右隣が (2,1) 成分……という順番で対応しているので、行列の見た目と一致させるには行の上下を入れ替えて転置を取る。
    • axis の引数 las を TRUE にすると文字が90°回転する。
    • ラベルの文字サイズは cex.axis で指定する。デフォルトは 1。


ggplot2 を使う場合、
ggplot2でシンプルなヒートマップを描く - langstat blog
を参照。
(ぼく自身は ggplot2 使う派です)