簡単なヒートマップの作成に適した「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パッケージ
・ヒートマップを描写するコマンド
少しでも、あなたの解析が楽になりますように!!