熱力圖是在科研過(guò)程中經(jīng)常會(huì)使用到的,如對(duì)多組相關(guān)系數(shù)的可視化蔓纠。本文介紹基于ggplot2包和pheatmap包進(jìn)行熱力圖的繪制缓升。
數(shù)據(jù)格式如下:
image.png
基于ggplot的熱力圖繪制
library (ggplot2)
library (reshape2)
setwd("D:/example/") #設(shè)定數(shù)據(jù)的存放路徑
data1<-read.csv('a4.csv',header = TRUE) #讀取文件
data2<- melt (data1, id="Month") #轉(zhuǎn)化成長(zhǎng)數(shù)據(jù)集
data2$variable= factor(data2$variable, levels=c('EL10_TMP','EL14_TMP','EL18_TMP','EL10_PRE','EL14_PRE','EL18_PRE','EL10_PDSI','EL14_PDSI','EL18_PDSI')) #設(shè)置順序
data2$Month= factor(data2$Month, levels=c('P.Jun','P.Jul','P.Aug','P.Sep','P.Oct','P.Nov','P.Dec','C.Jan','C.Feb','C.Mar','C.Apr','C.May','C.Jun','C.Jul','C.Aug','C.Sep','C.Oct')) ## 設(shè)置順序
p1<-ggplot(data2,aes(x=Month,y=variable,fill=value)) #熱力圖繪制
p2<-p1+geom_raster()+ scale_fill_gradient2(low="red", high="darkgreen", mid="white") #填充不同的顏色
結(jié)果如下所示:
image.png
針對(duì)里面的字體和文字大小等的設(shè)置可參考《基于ggplot2的常用柱狀圖模板的設(shè)置》波桩,或?qū)⒃搱D輸出為pdf后,在pdf編輯中進(jìn)行編輯千扶。
基于pheatmap包的繪制
數(shù)據(jù)格式如下:
image.png
注意:數(shù)據(jù)來(lái)源與上面一致,但在這里首先是在excel中調(diào)整了列的順序骆捧,讓順序和上面中代碼的順序保持一致了澎羞。同時(shí)去掉了Month這一列。
代碼如下
library(pheatmap)
library(RColorBrewer)
setwd("D:/example/")
data1<-read.csv('a4.csv',header = TRUE)
pheatmap(data1)
p3<-pheatmap(data1,
color=brewer.pal(11,"PRGn"),
cellwidth = 20,
cellheight = 10,
cluster_rows = FALSE,
cluster_cols = FALSE,
labels_row=c('P.Jun','P.Jul','P.Aug','P.Sep','P.Oct','P.Nov','P.Dec','C.Jan','C.Feb','C.Mar','C.Apr','C.May','C.Jun','C.Jul','C.Aug','C.Sep','C.Oct'),
fontsize = 12,
#display_numbers = TRUE,
number_color = "black",
)
出來(lái)的結(jié)果如下:
image.png
如果對(duì)顏色的配置不滿(mǎn)意敛苇,可改變color=brewer.pal(11,"PRGn")中的"PRGN"妆绞,該里面的參數(shù)含義如下圖
image.png
改變color=brewer.pal(11,"PRGn")中的"PRGN"為BrBG則呈現(xiàn)如下效果
image.png
詳細(xì)可參考https://blog.csdn.net/chang349276/article/details/77476848
更多需求,請(qǐng)查看個(gè)人介紹