參考文章:
轉載請注明:陳熹 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, ...)
-
corr
:需要可視化的相關系數矩陣 -
method
:指定可視化的方法,可以是圓形、方形、橢圓形、數值、陰影、顏色或餅圖形 -
type
:指定展示的方式,可以是完全的、下三角或上三角 -
col
:指定圖形展示的顏色,默認以均勻的顏色展示 -
bg
:指定圖的背景色 -
title
:為圖形添加標題 -
is.corr
:是否為相關系數繪圖,默認為TRUE,同樣也可以實現非相關系數的可視化,只需使該參數設為FALSE即可 -
diag
:是否展示對角線上的結果,默認為TRUE -
outline
:是否繪制圓形、方形或橢圓形的輪廓,默認為FALSE -
mar
:具體設置圖形的四邊間距 -
addgrid.col
:當選擇的方法為顏色或陰影時,默認的網格線顏色為白色,否則為灰色 -
addCoef.col
:為相關系數添加顏色,默認不添加相關系數,只有方法為number時,該參數才起作用 -
addCoefasPercent
:為節省繪圖空間,是否將相關系數轉換為百分比格式,默認為FALSE -
order
:指定相關系數排序的方法,可以是原始順序(original)、特征向量角序(AOE)、第一主成分順序(FPC)、層次聚類順序(hclust)和字母順序,一般”AOE”排序結果都比”FPC”要好 -
hclust.method
:當order為hclust時,該參數可以是層次聚類中ward法、最大距離法等 -
addrect
:當order為hclust時,可以為添加相關系數圖添加矩形框,默認不添加框,如果想添加框時,只需為該參數指定一個整數即可 -
rect.col
:指定矩形框的顏色 -
rect.lwd
:指定矩形框的線寬 -
tl.pos
:指定文本標簽(變量名稱)的位置,當type=full時,默認標簽位置在左邊和頂部(lt),當type=lower時,默認標簽在左邊和對角線(ld),當type=upper時,默認標簽在頂部和對角線,d表示對角線,n表示不添加文本標簽 -
tl.cex
:指定文本標簽的大小 -
tl.col
:指定文本標簽的顏色 -
cl.pos
:圖例(顏色)位置,當type=upper或full時,圖例在右表(r),當type=lower時,圖例在底部,不需要圖例時,只需指定該參數為n -
addshade
:只有當method=shade時,該參數才有用,參數值可以是negtive/positive和all,分表表示對負相關系數、正相關系數和所有相關系數添加陰影。注意:正相關系數的陰影是45度,負相關系數的陰影是135度 -
shade.lwd
:指定陰影的線寬 -
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
包