[R語言] corrplot包做相關性熱圖

參考文章:

  1. corrplot做相關圖
  2. R語言可視化之corrplot包

轉載請注明:陳熹 chenx6542@foxmail.com (簡書號:半為花間酒)

前置知識

corrplot(corr,
    method = c("circle", "square", "ellipse", "number", "shade", "color", "pie"),
    type = c("full", "lower", "upper"), add = FALSE,
    col = NULL, bg = "white", title = "",  is.corr = TRUE,      
    diag = TRUE, outline = FALSE, mar = c(0,0,0,0),
    addgrid.col = NULL, addCoef.col = NULL, addCoefasPercent = FALSE, 
    order = c("original", "AOE", "FPC", "hclust", "alphabet"),
    hclust.method = c("complete", "ward", "single", "average",
                      "mcquitty", "median", "centroid"),
    addrect = NULL, rect.col = "black", rect.lwd = 2,
    tl.pos = NULL, tl.cex = 1,
    tl.col = "red", tl.offset = 0.4, tl.srt = 90,
    cl.pos = NULL, cl.lim = NULL,
    cl.length = NULL, cl.cex = 0.8, cl.ratio = 0.15, 
    cl.align.text = "c",cl.offset = 0.5,
    addshade = c("negative", "positive", "all"),
    shade.lwd = 1, shade.col = "white",
    p.mat = NULL, sig.level = 0.05,
    insig = c("pch","p-value","blank", "n"),
    pch = 4, pch.col = "black", pch.cex = 3,
    plotCI = c("n","square", "circle", "rect"),
    lowCI.mat = NULL, uppCI.mat = NULL, ...)
  1. corr:需要可視化的相關系數矩陣
  2. method:指定可視化的方法,可以是圓形、方形、橢圓形、數值、陰影、顏色或餅圖形
  3. type:指定展示的方式,可以是完全的、下三角或上三角
  4. col:指定圖形展示的顏色,默認以均勻的顏色展示
  5. bg:指定圖的背景色
  6. title:為圖形添加標題
  7. is.corr:是否為相關系數繪圖,默認為TRUE,同樣也可以實現非相關系數的可視化,只需使該參數設為FALSE即可
  8. diag:是否展示對角線上的結果,默認為TRUE
  9. outline:是否繪制圓形、方形或橢圓形的輪廓,默認為FALSE
  10. mar:具體設置圖形的四邊間距
  11. addgrid.col:當選擇的方法為顏色或陰影時,默認的網格線顏色為白色,否則為灰色
  12. addCoef.col:為相關系數添加顏色,默認不添加相關系數,只有方法為number時,該參數才起作用
  13. addCoefasPercent:為節省繪圖空間,是否將相關系數轉換為百分比格式,默認為FALSE
  14. order:指定相關系數排序的方法,可以是原始順序(original)、特征向量角序(AOE)、第一主成分順序(FPC)、層次聚類順序(hclust)和字母順序,一般”AOE”排序結果都比”FPC”要好
  15. hclust.method:當order為hclust時,該參數可以是層次聚類中ward法、最大距離法等
  16. addrect:當order為hclust時,可以為添加相關系數圖添加矩形框,默認不添加框,如果想添加框時,只需為該參數指定一個整數即可
  17. rect.col:指定矩形框的顏色
  18. rect.lwd:指定矩形框的線寬
  19. tl.pos:指定文本標簽(變量名稱)的位置,當type=full時,默認標簽位置在左邊和頂部(lt),當type=lower時,默認標簽在左邊和對角線(ld),當type=upper時,默認標簽在頂部和對角線,d表示對角線,n表示不添加文本標簽
  20. tl.cex:指定文本標簽的大小
  21. tl.col:指定文本標簽的顏色
  22. cl.pos:圖例(顏色)位置,當type=upper或full時,圖例在右表(r),當type=lower時,圖例在底部,不需要圖例時,只需指定該參數為n
  23. addshade:只有當method=shade時,該參數才有用,參數值可以是negtive/positive和all,分表表示對負相關系數、正相關系數和所有相關系數添加陰影。注意:正相關系數的陰影是45度,負相關系數的陰影是135度
  24. shade.lwd:指定陰影的線寬
  25. shade.col:指定陰影線的顏色

實踐畫圖

library(corrplot)
?corrplot

# dat是個人數據
M <- round(cor(t(dat)),4)
# 原生配色
col2 <- colorRampPalette(c("#67001F", "#B2182B", "#D6604D", "#F4A582",
                           "#FDDBC7", "#FFFFFF", "#D1E5F0", "#92C5DE",
                           "#4393C3", "#2166AC", "#053061"))

corrplot(M,
         tl.col = 'black',
         tl.pos = "ld",
         tl.cex = 1.1,
         cl.pos = "b", 
         method = "circle", 
         order = 'AOE', 
         col = rev(col2(200)),
         mar = c(0,0,0,0),
         type = "lower",
         diag = FALSE,
         addCoef.col = "grey20",
         p.mat = cor.mtest(t(M), conf.level = 0.95)$p
);

總結:
corrplot包是基于原生繪圖函數,畫布設置太麻煩了,加上我對par函數一向不熟悉,感覺操作很累。也不能用ggsave保存,總之出圖效果可以但體驗很差,下次試試ggcorrplot

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,527評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,687評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,640評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,957評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,682評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,011評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,009評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,183評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,714評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,435評論 3 359
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,665評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,148評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,838評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,251評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,588評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,379評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,627評論 2 380