corrplot包可以简单快速的绘制出好看的相关性图,图案类型多种多样,而且可以上下部分分别绘制。话不多说,直接上图。 下面我们来看看具体的函数功能和用法library(corrplot)
# 计算相关性
corData = cor(mtcars,
method = "pearson", # 计算相关性的方法有"pearson", "spearman", "kendall"
use = "pairwise.complete.obs") # 缺失值处理的方式
# 计算相关性的P值和置信区间
testRes = cor.mtest(mtcars,
conf.level = 0.95, # 置信区间
method = "pearson") # 计算相关性的方法有"pearson", "spearman", "kendall"
# 绘图
corrplot(corData,
method = "circle", # 图案形状 "square"方框,"circle"圆, "ellipse"椭圆, "number"数字, "shade"阴影花纹, "color"颜色方框, "pie饼图"
type = "full", # 绘制范围"full"全部, "lower"下半部分, "upper"半部分
col=colorRampPalette(c('#0000ff','#ffffff','#ff0000'))(100), # 主体颜色
bg = "white", # 背景颜色
# col.lim = c(-1,1), # 数据颜色的范围,是相关性数据的话,直接is.corr = T就好
title = "", # 标题
is.corr = T, # 输入的矩阵是否是相关性矩阵,如果是的话,数据范围会限制到-1到1
add = F, # 是否在原来的图层上添加图形
diag = T, # 是否显示主对角
outline = F, # 图案的轮廓,True或False或某一颜色值
mar = c(0, 0, 0, 0), # 下 左 上 右 边距
addgrid.col = NULL, # 网格线的颜色,NA为不绘制,NULl为默认的灰色
addCoef.col = NULL, # 当method!="number"时,是否显示相关性数值,显示的颜色
addCoefasPercent = F, # 是否把相关性数值改为百分数
order = "original", # 排序方式 c("original", "AOE", "FPC", "hclust", "alphabet"), original:原始状态,alphabet:字母顺序 hclust,分层聚类顺序
hclusthod = c("complete", "ward", "ward.D", "ward.D2", "single", "average","mcquitty", "median", "centroid"), # 当order = "hclust"时,分层聚类的算法
tl.pos = "lt", # 坐标轴标签的位置'lt', 'ld', 'td', 'd' or 'n' # 左边 d中间
tl.cex = 1, # 坐标轴标签字体的大小
tl.col = "black", # 坐标轴标签字体的颜色
tl.offset = 0.4, # 坐标轴标签离图案的距离
tl.srt = 90, # 坐标轴标签旋转角度
cl.pos = "r", # 图例位置:r:右边 b:下边 n:不显示
cl.length = NULL, # 数字越大,图例的分隔越稠
cl.cex = 0.8, # 图例的字体大小
cl.ratio = 0.15, # 图例的宽度
cl.align.text = "c", # 图例文字的对齐方式 l左对齐 c居中 r右对齐
cl.offset = 0.5, # 图例文字距离图例颜色条的距离 居中时无效
number.cex = 1, # 相关性数字标签的字体大小
number.font = 2, # 相关性数字标签的字体
number.digits = 2, # 相关性数字标签,保留的小数点位数
na.label = "", # 当为NA时,显示的内容
p.mat = testRes$p, # P值矩阵
sig.level = 0.05, # 当p大于sig.level时触发动作
insig = "pch", # p值大于sig.level时的方案"pch"图案, "p-value"P值数字, "blank"空白, "n"无操作, "label_sig"星号,
pch = 4, # 当insig = "pch"时的图案形状 4为叉
pch.col = "black", # 图案颜色
pch.cex = 3, # 图案大小
plotCI = "n", # c("n", "square", "circle", "rect"), # p值置信区间的方案
lowCI.mat = testRes$lowCI, # p值置信区间下边界数据
uppCI.mat = testRes$uppCI, # p值置信区间上边界数据
)如果上下部分绘制的图案不同,只需调整add = T参数,然后再调用corrplot绘制即可,需要注意的是不显示图例和坐标轴标签,其他参数尽量和之前一致。 corrplot(corData,
method = "number", # 图案形状 "square"方框,"circle"圆, "ellipse"椭圆, "number"数字, "shade"阴影花纹, "color"颜色方框, "pie饼图"
type = "lower", # "full", "lower", "upper"
col=colorRampPalette(c('#0000ff','#ffffff','#ff0000'))(100), # 主体颜色
bg = "white", # 背景颜色
is.corr = T, # 输入的矩阵是否是相关性矩阵,如果是的话,数据范围会限制到-1到1
add = T, # 是否在原来的图层上添加图形
diag = F, # 是否显示主对角
addCoefasPercent = F, # 是否把相关性数值改为百分数
order = "original", # 排序方式 c("original", "AOE", "FPC", "hclust", "alphabet"), original:原始状态,alphabet:字母顺序 hclust,分层聚类顺序
tl.pos = "n", # 坐标轴标签的位置'lt', 'ld', 'td', 'd' or 'n' # 左边 d中间
cl.pos = "n", # 图例位置:r:右边 b:下边 n:不显示
na.label = "", # 当为NA时,显示的内容
p.mat = testRes$p, # P值矩阵
sig.level = 0.05, # 当p大于sig.level时触发动作
)
|