簡単なヒートマップの作成に適した「pheatmap」パッケージとパッケージに依存せずにヒートマップを描写するコマンドの紹介です。何かの参考になればと思います。
実行コマンドはR version 4.2.2で確認しています。
実行コマンド
詳細はコメント、各パッケージのヘルプを確認してください。
###データ例の作成#####
n <- 30
ReadData <- data.frame(Group = paste0("Group", 1:n),
Data1 = sample(0:10, n, replace = TRUE),
Data2 = sample(0:10, n, replace = TRUE),
Data3 = sample(0:10, n, replace = TRUE),
Data4 = sample(0:10, n, replace = TRUE))
#######
###pheatmapでプロット#####
#パッケージのインストール
install.packages("pheatmap")
#パッケージの読み込み
library("pheatmap")
#行名を修正
rownames(ReadData) <- ReadData[, 1]
ReadData <- ReadData[, -1]
#Macで文字化け防止
pheatmap(ReadData,
cellwidth = 100,
cellheight = 7,
main = "TEST TITLE",
color = colorRampPalette(c("#4b61ba", "#505457", "#a87963"))(10),
border_color = "gray",
cluster_row = FALSE,
cluster_col = FALSE,
display_numbers = FALSE,
number_format = "%1.0f",
number_color = "black",
#MAC日本語文字化け防止
#fontfamily = "HiraKakuProN-W3",
fontsize_col = 10,
fontsize_row = 8)
########
###BaseでPlot#####
#MAC日本語文字化け防止
#par(family = "HiraKakuProN-W3")
#プロットの領域確保
par(mar = c(3, 4, 2, 10))
#セル色の設定
CellCol <- colorRampPalette(c("#4b61ba", "#505457", "#a87963"))(10)
#ヒートマップの描写,タイトルもここで設定
image(x = 1:ncol(ReadData), y = 1:nrow(ReadData), z = t(as.matrix(ReadData)),
axes = FALSE, ylab = "", xlab = "", main = "TEST TITLE",
col = CellCol)
#X軸の設定
axis(side = 1, 1:ncol(ReadData), colnames(ReadData), -.8,
las = 2, cex.axis = 1, tick = FALSE)
#Y軸の設定
axis(side = 4, 1:nrow(ReadData), rownames(ReadData), -.8,
las = 1, cex.axis = 0.55, tick = FALSE)
#セルの編みかけ設定
grid(nx = ncol(ReadData), ny = nrow(ReadData),
col = "lightgray", lty = "solid", lwd = 1.2)
#表示領域を元に戻す
par(mar = c(5, 4, 4, 2))
########
出力結果
・pheatmapパッケージ

・ヒートマップを描写するコマンド

少しでも、あなたの解析が楽になりますように!!