有师妹想要更改热图的颜色和字体,想着之前相关性绘图等推文只是使用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") # 查看帮助手册
?corrplot
corrplot(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 Roman
pdf(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统计-PCA/PCoA/db-RDA/NMDS/CA/CCA/DCA等排序分析教程
开放转载
公众号原创文章开放转载,在文末留言告知即可
EcoEvoPhylo :主要分享微生物生态和phylogenomics的数据分析教程。扫描上方二维码,即可关注EcoEvoPhylo。让我们大家一起学习,互相交流,共同进步。