R统计绘图-corrplot绘制热图及颜色、字体等细节修改1

  • Post author:
  • Post category:其他

有师妹想要更改热图的颜色和字体,想着之前相关性绘图等推文只是使用corrplot默认的颜色绘图,为了帮师妹解惑,今天就写一篇,怎么设置热图颜色和字体等细节到推文。其实看一遍R语言实战|入门3:图形初阶,就可以基本了解R中图形细节的设置。本流程还是使用R统计绘图-环境因子相关性热图中的不同土壤环境因子数据进行相关性分析、绘制热图并进行图细节更改。流程开始按下图整理环境因子数据,行为样品名称,列为环境因子名称和分组信息,共有11个环境变量,3个分组信息。

图片

图1|环境因子及分组信息表,env.csv。

1 设置工作路径并调用R包

# 设置工作路径#knitr::opts_knit$set(root.dir="D:\\EnvStat")# 使用Rmarkdown进行程序运行Sys.setlocale('LC_ALL','C') # Rmarkdown全局设置
# 调用R包library(Rmisc) library(corrplot)library(ggcorrplot)library(RColorBrewer)library(grDevices)#library(extrafont) # 导入外部字体#library(extrafontdb) # 字体数据库#library(Rttf2pt1)

2 数据读入

options(stringsAsFactors=F)# R中环境变量设置,防止字符型变量转换为因子# 读入环境因子数据表ENV=read.csv("env.csv",header = T,row.names = 1,sep = ",",comment.char = "",stringsAsFactors = F,colClasses = c(rep("character",4),rep("numeric",11)))head(ENV) # 查看数据前几行#dim(ENV) # 查看数据行、列数#str(ENV) # 查看数据表每列的数据形式
# 解决数据中存在ties的警告,选用"pearson"fan方法计算相关性系数,不用运行此命令ENV[4:14] = rank(ENV[4:14], ties.method = "random") # 使用 "kendall"或 "spearman"方法计算相关性系数,可能会遇到此报错

3 绘制相关性热图

3.1 计算相关性系数、置信区间和显著性检验

# 3.1.1 环境因子相关性分析,根据自己的数据选择相关性计算方法:"pearson", "kendall", or "spearman"#env.cor <- round(cor(ENV[4:14], method = "spearman"),3) # round(),对输出结果取小数点前三位,计算spearman相关性系数#e?cor.mtestnv.cor <- round(cor(ENV[4:14], method = "kendall"),3) # round(),对输出结果取小数点前三位,计算kendall相关性系数env.cor <- round(cor(ENV[4:14], method = "pearson"),3) # round(),对输出结果取小数点前三位,计算pearson相关性系数env.cor
# 3.1.2 进行显著性检验#env.p <-round(cor_pmat(ENV[4:14],method = "spearman"),3) # spearman系数#env.p <-round(cor_pmat(ENV[4:14],method = "kendall"),3) # kendall系数env.p <-round(cor_pmat(ENV[4:14],method = "pearson"),3) # pearson系数env.p 
# 3.1.3 使用corrplot的cor.mtest可以同时计算显著性检验和置信区间。返回是是一个列表#cor.mtest(ENV[4:14], conf.level = 0.95)env.uppCI = round(cor.mtest(ENV[4:14], conf.level = 0.95)$uppCI,3)env.uppCI # 置信区间上界env.lowCI = round(cor.mtest(ENV[4:14], conf.level = 0.95)$lowCI,3)env.lowCI # 置信区间下界

图片

图2|pearson相关性系数,env.cor 。

图片

图3|pearson相关性系数的p值,env.p 。

图片

图4|pearson相关性系数置信区间上界,env.uppCI 。

3.2 绘制相关性热图

3.2.1 默认参数热图

# 3.2.1 默认参数热图browseVignettes("corrplot") # 查看帮助手册?corrplotcorrplot(corr =env.cor) # 只提供相关性系数矩阵corrplot(corr =env.cor, p.mat = env.p) # 相关性系数与显著性检验p值一起显示# 用其他统计工具计算的相关性系数和p值,用corrplot()可视化时可能会报图4的错,使用as.matrix()可以解决corrplot(corr = as.matrix(env.cor), p.mat = as.matrix(env.p))               

图片

图5|导入外部软件计算的相关性系数和p值绘图报错。使用as.matrix()可以解决。

图片

图6|corrplot默认参数相关性系数热图。

图片

图7|corrplot默认参数相关性系数与显著性检验热图。坐标标签为红色字体,热图颜色为红蓝色,不显著相关性系数图块上有X符号,图默认对称显示且不添加相关性系数值。相关系数默认以circle展示。

3.2.2 使用参数method更改相关性系数可视化形式

# 3.2.2 使用参数method更改相关性系数可视化形式?corrplot # 查看函数帮助手册,查看method参数可选值:'circle' (默认), 'square', 'ellipse', 'number', 'pie', 'shade'和'color'。
m=par(no.readonly = TRUE) # 保存默认图形设置参数
pdf("method.pdf",width = 10,height = 15)par(mfrow=c(3,2)) # 形成3行、2列的图形矩阵corrplot(corr =env.cor, p.mat = env.p,method = "color")corrplot(corr =env.cor, p.mat = env.p,method = "pie")corrplot(corr =env.cor, p.mat = env.p,method = "square")corrplot(corr =env.cor, p.mat = env.p,method = "ellipse")corrplot(corr =env.cor, p.mat = env.p,method = "number")corrplot(corr =env.cor, p.mat = env.p,method = "shade")dev.off()
par(m) # 还原初始图形设置注:corrplot的一个bug,就是图不能赋给一个变量,不好组合图形,所以这里我使用R中的基础图形设置参数par(),将6幅图组合为3行、2列的图形矩阵。

图片

图8|corrplot的method参数修改相关性系数展示方式。a: color; b: pie; c: square; d: ellipse; e: number; f: shade。

3.2.3 三角形相关性热图

矩形相关性热图是对称的,想要节省空间或者与其他分析(如mantel分析)进行组合,绘制三角形相关性热图。三角形热图可以保留矩形热图的右上(upper)或左下部分(lower)。使用type参数可以设置,可选full,upper或lower。

# 3.2.3 三角形相关性热图?corrplot # 查看函数帮助手册,查看type参数可选值:full,upper或lower。m=par(no.readonly = TRUE) # 保存默认图形设置参数pdf("type.pdf",width = 12,height = 6) # 保存图片到本地par(mfrow=c(1,2)) # 形成1行、2列的图形矩阵corrplot(corr =env.cor, p.mat = env.p,method = "circle",type = "upper")corrplot(corr =env.cor, p.mat = env.p,method = "circle",type = "lower")dev.off()par(m) # 还原初始图形设置

图片

图9|corrplot的type参数修改热图展示方式。a: upper; b: lower。

3.2.4 分别设置upper和lower可视化方法并叠加为一幅图

corrplot()中的参数add=TRUE,可用于叠加不同可视化形式的upper和lower部分。corrplot.mixed()函数则可以直接绘制upper和lower不同数据形式的矩形热图。

# 3.2.4 分别设置upper和lower可视化方法并叠加为一幅图m=par(no.readonly = TRUE) # 保存默认图形设置参数pdf("corrplot.mixed.pdf",width = 12,height = 12) # 保存图片到本地## corrplot()函数参数add=TRUE用于叠加图层par(mfrow=c(2,2)) # 形成2行、2列的图形矩阵
### a图corrplot(corr =env.cor, p.mat = env.p,method = "circle",type = "upper")corrplot(corr = env.cor,type="lower",add=TRUE,method="number") # upper以气泡展示相关性系数,lower展示相关性系数数值,由于是叠加图形,变量名称对角线和左侧和上侧都存在,因此在进行图层叠加的时候,需要对变量标签的展示、颜色图例和对角线数据的展示等进行修改。
### b图corrplot(corr =env.cor, p.mat = env.p,method = "circle",type = "upper", tl.pos="lt") # tl.pos="lt"表示变量文字标签放在左侧和上侧。
corrplot(corr = env.cor,type="lower",add=TRUE,method="number", tl.pos = "n",cl.pos = "n",diag=FALSE ) # tl.pos = "n"表示不添加变量文字标签 cl.*和tl.*分别是一系列颜色和文字图例的修改参数,col是设置热图颜色的参数。后面将会详细讲解。不喜欢设置很多参数的同学,可以直接使用corrplot.mixed()。cl.pos = "n"设置不展示颜色图例。此处数据对角线对应相同的变量,因此可以使用diag=FALSE,设置不展示对角线数据,不是相同变量则不需要设置此参数。
## corrplot.mixed()函数??corrplot.mixed # 查看函数帮助信息### c图corrplot.mixed(corr =env.cor, p.mat = env.p) # upper以气泡展示相关性系数,lower展示相关性系数数值,默认变量名称在对角线上。
### d图corrplot.mixed(corr =env.cor, p.mat = env.p,tl.pos = "lt") # corrplot.mixed默认中间不显示数据。dev.off()
par(m) # 还原初始图形设置

图片

图10|upper和lower展示不同数据类型热图。a-b: corrplot函数通过add=TRUE叠加图层。a: 默认参数绘制。b: 修改了颜色、标签图例和对角线数据不展示参数。c-d:corrplot.mixed直接绘制组合图。c: 默认参数绘制。d: 修改了标签图例参数。

3.2.5 显著性p值展示形式设置

corrplot中默认以X表示p>0.05。如果想以*表示p<0.05,可以使用设置insig = “label_sig”,同时还可用sig.level = c(.001, .01, .05),设置阈值。insig参数用于设置显著性标签的方式,可选参数:”pch”, “p-value”, “blank”, “n”和”label_sig”。下面绘制upper以气泡展示相关性系数同时以不同形式展示显著性标签,lower以数值形式展示相关性系数组合图。​​​​​​​

# 3.2.5 图中显著性p值展示形式。m=par(no.readonly = TRUE) # 保存默认图形设置参数pdf("insig.pdf",width = 12,height = 12) # 保存图片到本地## corrplot()函数参数add=TRUE用于叠加图层par(mfrow=c(2,2)) # 形成2行、2列的图形矩阵
### a图corrplot(corr =env.cor, p.mat = env.p,method = "circle",type = "upper", tl.pos="lt",insig="pch") # 默认显著性标签参数
corrplot(corr = env.cor,type="lower",add=TRUE,method="number", tl.pos = "n",cl.pos = "n",diag=FALSE ) 
### b图corrplot(corr =env.cor, p.mat = env.p,method = "circle",type = "upper", tl.pos="lt",insig="label_sig",sig.level = c(.001, .01, .05),pch.cex = 0.8) # 用*作为显著性标签,sig.level参数表示0.05用*表示。0.01用**。0.001用***。pch.cex = 0.8,用于设置显著性标签的字符大小。
corrplot(corr = env.cor,type="lower",add=TRUE,method="number", tl.pos = "n",cl.pos = "n",diag=FALSE ) 
### c图corrplot(corr =env.cor, p.mat = env.p,method = "circle",type = "upper", tl.pos="lt",insig="p-value",sig.level =-1, pch.cex = 0.7) # 默认显示高于0.05的p值,设置sig.level=-1,表示只要p>-1的值都显示,即显示全部p值。
corrplot(corr = env.cor,type="lower",add=TRUE,method="number", tl.pos = "n",cl.pos = "n",diag=FALSE ) 
### d图corrplot(corr =env.cor, p.mat = env.p,method = "circle",type = "upper", tl.pos="lt",insig="blank",sig.level = 0.1, pch.cex = 0.7) # 默认p>0.05的相关性系数不展示。设置sig.level = 0.1表示表示p>0.1的相关性系数都不展示。
corrplot(corr = env.cor,type="lower",add=TRUE,method="number", tl.pos = "n",cl.pos = "n",diag=FALSE ) 
#corrplot(corr =env.cor, p.mat = env.p,method = "circle",type = "upper", tl.pos="lt",insig = "n") # insig = "n"表示不采取任何措施,运行的时候会报错。直接不提供p值,既可以不显示p值。这个参数值没什么意思。
#corrplot(corr = env.cor,type="lower",add=TRUE,method="number", tl.pos = "n",cl.pos = "n",diag=FALSE ) 
dev.off()
par(m) # 还原初始图形设置

图片

图11|insig参数设置显著性阈值显示形式a: 默认参数绘制。b: 以*显示显著性c: 显示高于特定值的p值。d: 去除p值高于特定值的相关性系数。

3.2.6 置信区间展示形式设置

corrplot还可以在热图中以置信区间形式展示相关性系数。plotCI参数用于设置置信区间的展示信息,参数可选:”n”和“rect”,向lowCI.mat参数提供置信区间下界数据矩阵,uppCI.mat提供置信区间上界数据矩阵。​​​​​​​

# 3.2.6 置信区间展示形式设置m=par(no.readonly = TRUE) # 保存默认图形设置参数
pdf("CI.pdf",width = 14,height = 6) # 保存图片到本地## corrplot()函数参数add=TRUE用于叠加图层par(mfrow=c(1,2)) # 形成1行、2列的图形矩阵
### a图corrplot(corr =env.cor, p.mat = env.p,method = "circle",type = "upper", tl.pos="lt",insig="label_sig",sig.level = c(.001, .01, .05),pch.cex = 0.8) # upper显示相关性系数和p值
corrplot(corr = env.cor,plotCI= "rect",type="lower",add=TRUE,lowCI = env.lowCI, uppCI = env.uppCI,tl.pos = "n",cl.pos = "n",diag=FALSE ) # lower显示相关性系数置信区间 
### b图corrplot(corr =env.cor, p.mat = env.p,method = "circle",type = "lower", cl.pos = "n",tl.pos="lt",insig="label_sig",sig.level = c(.001, .01, .05),pch.cex = 0.8) # lower显示相关性系数和p值
corrplot(corr = env.cor,plotCI= "rect",type="upper",add=TRUE,lowCI = env.lowCI, uppCI = env.uppCI,tl.pos = "n",diag=FALSE ) # upper显示相关性系数置信区间 

dev.off()
par(m) # 还原初始图形设置

图片

图12|带置信区间相关性热图a: lower显示相关性系数置信区间。b:upper显示相关性系数置信区间。

3.2.7 修改数值、字符形式

图中字体标签有变量图例标签和图内相关性系数和p值标签。tl.*分别是一系列文字图例的修改参数,可用于修改变量的字符形式和展示位置。pch.*设置p值标签的颜色和大小。number.*用于设置数字大小、字体和小数点。​​​​​​​

# 3.2.7 修改数值、字符形式m=par(no.readonly = TRUE) # 保存默认图形设置参数pdf("颜色和大小细节设置.pdf",width = 14,height = 6) # 保存图片到本地## corrplot()函数参数add=TRUE用于叠加图层par(mfrow=c(1,2)) # 形成1行、2列的图形矩阵
### a图###tl.pos可选参数lt', 'ld', 'td', 'd'或'n'。l是left的首字母,t是top的首字母,d是 diagonal首字母,n表示不添加变量标签。
corrplot(corr =env.cor, p.mat = env.p,method = "circle",
         type="upper",
         tl.pos="lt", tl.cex=1, tl.col="black",tl.srt = 45,tl.offset=0.5,
         insig="label_sig",sig.level = c(.001, .01, .05),
         pch.cex = 0.8,pch.col = "red") # tl.*参数依次设置变量标签的位置为左侧和右侧,字符大小为1,颜色为黑色,倾斜45度,距离热图边界0.5。pch*参数依次设置显著性标签大小为0.8,颜色为红色。
corrplot(corr = env.cor, method = "number",
         type="lower",add=TRUE,
         tl.pos = "n",cl.pos = "n",diag=FALSE,
         number.digits = 3,number.cex = 0.7,number.font = NULL
         ) # number*参数依次设置保留相关性系数3位小数点,字体大小为0.7,字体使用默认,只能设置par中的字体参数。后面会讲修改par字体参数。
### b图corrplot(corr =env.cor, p.mat = env.p,method = "circle",         type="upper",         tl.pos="lt", tl.cex=1, tl.col="black",tl.srt = 45,tl.offset=0.5,         insig="label_sig",sig.level = c(.001, .01, .05),         pch.cex = 0.8,pch.col = "red") # tl.*参数依次设置变量标签的位置为左侧和右侧,字符大小为1,颜色为黑色,倾斜45度,距离热图边界0.5。pch*参数依次设置显著性标签大小为0.8,颜色为红色。
corrplot(corr = env.cor,p.mat = env.p,method = "number",
         type="lower",add=TRUE,
         tl.pos = "n",tl.srt = 45,tl.offset=0.5,
         cl.pos = "n",diag=FALSE,pch.col = "red",
         number.digits = 3,number.cex = 0.7,number.font = NULL
         ) # number*参数依次设置保留相关性系数3位小数点,字体大小为0.7,字体使用默认,只能设置par中的字体参数。后面会讲修改par字体参数。
dev.off()
par(m) # 还原初始图形设置

图片

图13|字符颜色、大小和放置位置设置a: 顶部变量标签设置为黑色、倾斜45度形式,显著性标签设置为红色、0.8大小形式。b:顶部变量标签设置为黑色、倾斜45度形式,upper和lower都设置红色显著性标签。

3.2.8 修改相关性系数可视化的颜色

图中字体标签有变量图例标签和图内相关性系数和p值标签。tl.*分别是一系列文字图例的修改参数,可用于修改变量的字符形式和展示位置。pch.*设置p值标签的颜色和大小。number.*用于设置数字大小、字体和小数点。col参数用于修改相关性系数图形和数值的颜色。

# 3.2.8 修改相关性系数可视化的颜色## 相关性系数是一个连续变量,随着数值的变化,颜色发生变化,所以设置的颜色也必须是连续变化。RColorBrewer包可用于选择连续变量颜色,brewer.pal()可以自己设置颜色变量。grDevices包的colorRampPalette()可用于根据选择的颜色,设置颜色板。
?RColorBrewer # 展示帮助信息
display.brewer.all() # 显示所有颜色板
display.brewer.pal(11,"Set3") # 查看Set2颜色板中的11个颜色
brewer.pal(11, "Set3") #查看其中11个颜色的16进制编码​​​​
?colorRampPalette() # 查看帮助信息,适合[-N,N]的对称矩阵
col1=colorRampPalette(colors =c("red","white","darkgreen"),space="Lab") # space参数选择使用RGB或者CIE Lab颜色空间
col2 = colorRampPalette(c('#7F0000', 'red', '#FF7F00', 'yellow', 'white',
                           'cyan', '#007FFF', 'blue', '#00007F'))
## 更改热图颜色m=par(no.readonly = TRUE) # 保存默认图形设置参数pdf("相关性系数可视化颜色设置.pdf",width = 12,height =12 ) # 保存图片到本地## corrplot()函数参数add=TRUE用于叠加图层par(mfrow=c(2,2)) # 形成2行、2列的图形矩阵
### a图 使用RColorBrewer中的颜色板Set3。corrplot(corr =env.cor, p.mat = env.p,method = "circle",         tl.pos="lt", tl.cex=1, tl.col="black",         insig="label_sig",sig.level = c(.001, .01, .05),         pch.cex = 0.8,pch.col = "black",col = brewer.pal(n = 10, name = 'Set3')) # 相关性系数范围为[-1,1],间隔0.2变化颜色,所以选择10个颜色
### b图 使用colorRampPalette()设置的col1颜色板corrplot(corr =env.cor, p.mat = env.p,method = "circle",         tl.pos="lt", tl.cex=1, tl.col="black",         insig="label_sig",sig.level = c(.001, .01, .05),         pch.cex = 0.8,pch.col = "black",col = col1(10)) # 选择10个颜色
### c图 使用colorRampPalette()设置的col2颜色板corrplot(corr =env.cor, p.mat = env.p,method = "circle",         tl.pos="lt", tl.cex=1, tl.col="black",         insig="label_sig",sig.level = c(.001, .01, .05),         pch.cex = 0.8,pch.col = "black",col = col2(10)) # 选择10个颜色
### d图 使用colorRampPalette()设置的col1颜色板,设置相关性数值颜色corrplot(corr =env.cor, p.mat = env.p,method = "circle",         type="upper",         tl.pos="lt", tl.cex=1, tl.col="black",         insig="label_sig",sig.level = c(.001, .01, .05),         pch.cex = 0.8,pch.col = "black",col = col1(10)) # 选择10个颜色corrplot(corr =env.cor,method = "number",         type="lower",add = TRUE,         tl.pos="n",cl.pos = "n",diag = FALSE,         col = "black",number.cex = 0.7) # 设置相关性数值为黑色
dev.off()
par(m) # 还原初始图形设置

图片

图14|相关性系数可视化颜色设置a: 使用RColorBrewer中的颜色板Set3。b:colorRampPalette()设置的col1颜色板。c: 使用colorRampPalette()设置的col2颜色板。d:upper使用colorRampPalette()设置的col1颜色板,lower中相关性系数设置为黑色。

 3.2.9 设置颜色图例的放置位置

cl.*分别是一系列颜色图例的修改参数,可用于修改颜色图例位置、颜色数量(默认跟设置的颜色数量一致)、图例中字符大小、颜色图例的宽度调整(推荐0.1-0.2)和数值与颜色图例的距离。

# 3.2.9 设置颜色图例的放置位置m=par(no.readonly = TRUE) # 保存默认图形设置参数
pdf("图例设置.pdf",width = 12,height =12 ) # 保存图片到本地## corrplot()函数参数add=TRUE用于叠加图层par(mfrow=c(2,2)) # 形成2行、2列的图形矩阵
### a图 cl.pos参数设置图例放置位置,可选参数:r(图右侧),b(下侧),n(不显示)。corrplot(corr =env.cor, p.mat = env.p,method = "circle",         tl.pos="lt", tl.cex=1, tl.col="black",         insig="label_sig",sig.level = c(.001, .01, .05),         pch.cex = 0.8,pch.col = "black",         cl.pos = "b") 
### b图 cl.length设置图例的颜色数量,设置了col参数,则默认使用col设置的颜色数量。corrplot(corr =env.cor, p.mat = env.p,method = "circle",         tl.pos="lt", tl.cex=1, tl.col="black",         insig="label_sig",sig.level = c(.001, .01, .05),         pch.cex = 0.8,pch.col = "black",         cl.pos = "r",cl.length = 5         ) # 设置5个颜色区间
### c图 cl.ratio设置颜色图例的宽度,cl.offset设置数值与颜色图例距离。corrplot(corr =env.cor, p.mat = env.p,method = "circle",         tl.pos="lt", tl.cex=1, tl.col="black",         insig="label_sig",sig.level = c(.001, .01, .05),         pch.cex = 0.8,pch.col = "black",         cl.pos = "r",cl.length = 5,cl.ratio = 0.2,cl.offset=0.5) # cl.align.text ="r"实际设置并没有什么意义,可以不用管这个参数


### d图 cl.cex参数设置图例数值字符大小corrplot(corr =env.cor, p.mat = env.p,method = "circle",         tl.pos="lt", tl.cex=1, tl.col="black",         insig="label_sig",sig.level = c(.001, .01, .05),         pch.cex = 0.8,pch.col = "black",         cl.pos = "r",cl.length = 5,cl.ratio = 0.2,cl.offset=0.5,cl.cex = 1.2) 
dev.off()par(m) # 还原初始图形设置

图片

图15|热图图例设置。a: 图例放在热图下侧。b:设置图例为5个间隔。c: 设置图例宽度为0.2。d:设置图例数值字符大小为1.2。

3.2.10 设置图中字体形式为Tiime New Roman

很多出版物都要求使用Time New Roman字体,所以这里以它为例子讲解怎样设置图中的字体。R base和ggplot等高阶绘图函数都可以设置图中字体格式,但是这都取决于R中本身有这个字体,复制保存图片时可能会报警告,最后还是使用的默认字体,一般是Arial。pdf()输出图片到本地时,也可以设置字体格式。其实画完图使用pdf编辑器或AI更改字体也很方便。

# 3.2.10 设置图中字体形式为Tiime New Roman?par## 方法1:使用par设置参数,此参数有设备依赖,可能会报“Windows字体数据库里没有这样的字体系列”的警告信息。m = par(no.readonly = TRUE) # 查看可修改图形参数,返回的是一个列表,family是修改字体的参数。par(family= "Times New Roman") # 设置全局使用Times New Roman字体,英文字体分为Serif和Sans-Serif字体。Times New Roman是一种Serif字体,Arial是一种Sans-Serif字体。par("family") # 参看par的family设置pdf(file = "heatmap.pdf",width = 5,height = 5)cor.plot<-corrplot(corr =env.cor,p.mat = env.p,type="upper",                   tl.pos="lt",tl.col="black",                    insig = "label_sig", sig.level = c(.01, .05),                   pch.cex=1,pch.col = "black",order = "AOE") # ,order参数是对数据进行排序,后面再细讲。
cor.plot<-corrplot(corr = env.cor,type="lower",add=TRUE,method="number",
                   tl.pos="n",tl.col="black",tl.cex=1.2,
                   col="black",diag=FALSE, cl.pos="n",pch.col = "black",
                   number.cex = 0.8,order = "AOE")
dev.off()
par(m) # 还原初始图形参数设置
### par(family= "Times New Roman")有设备依赖,设置好之后,输出图片的时候,可能仍然不是想要的字体。可以使用extrafont包导入系统字体解决。#font_import() # 导入字体,花的时间有点长。                                            #fonts() # 查看字体结果#fonttable() # 显示全部字体表
## 方法2:pdf()保存图片时设置为Times New Romanpdf(file = "heatmap.pdf",width = 5,height = 5,family="Times")cor.plot<-corrplot(corr =env.cor,p.mat = env.p,type="upper",                   tl.pos="lt",tl.col="black",                    insig = "label_sig", sig.level = c(.01, .05),                   pch.cex=1,pch.col = "black",order = "AOE") # ,order参数是对数据进行排序,后面再细讲。
cor.plot<-corrplot(corr = env.cor,type="lower",add=TRUE,method="number",
                   tl.pos="n",tl.col="black",tl.cex=1.2,
                   col="black",diag=FALSE, cl.pos="n",pch.col = "black",
                   number.cex = 0.8,order = "AOE")
dev.off()

图片

图16|相关性热图。右上角为添加显著性标记相关性热图,左下角是相关性系数r值。设置图中字体为Times New Roman。

扫描上方二维码,关注EcoEvoPhylo数据分析小店购买数据分析书籍和服务

公众号后台发送“corrplot heatmap”获取数据和全部代码。

参考文献

http://127.0.0.1:24605/library/corrplot/doc/corrplot-intro.html


推荐阅读

R中进行单因素方差分析并绘图

R绘图-相关性分析及绘图

R绘图-相关性系数图

R统计绘图-环境因子相关性热图

R绘图-RDA排序分析

R统计绘图-RDA分析、Mantel检验及绘图

R统计-VPA分析(RDA/CCA)

R统计-PCA/PCoA/db-RDA/NMDS/CA/CCA/DCA等排序分析教程


开放转载

公众号原创文章开放转载,在文末留言告知即可

EcoEvoPhylo :主要分享微生物生态和phylogenomics的数据分析教程。扫描上方二维码,即可关注EcoEvoPhylo。让我们大家一起学习,互相交流,共同进步。


版权声明:本文为qq_39859424原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。