精华内容
下载资源
问答
  • R语言corrplot相关性热图制作

    千次阅读 2021-03-16 19:43:03
    R语言corrplot相关性热图制作 使用R语言制作相关性热图,使用corrplot这个包,本文进行简略的介绍,函数的具体内容见文档: https://cran.r-project.org/web/packages/corrplot/vignettes/corrplot-intro.html 在...

    R语言corrplot相关性热图制作

    使用R语言制作相关性热图,使用corrplot这个包,本文进行简略的介绍,函数的具体内容见文档:

    https://cran.r-project.org/web/packages/corrplot/vignettes/corrplot-intro.html

    在函数中,可以选择不同的method可以绘制不同类型的图像,例如circle、square、ellipse、color、number等等,此文不过多展示,可以直接去官方的函数介绍中。

    corrplot(M, method = "circle")
    

    img1

    corrplot(M, method = "number")
    

    下载

    可以通过Layout关键词选择布局

    • "full" (默认)显示整个矩阵

    • "upper" : 显示上半个矩阵

    • "lower" : 只显示下半个矩阵

      corrplot(M, type = "upper")
      

    下载 (3)

    corrplot.mixed(M, lower.col = "black", number.cex = .7)
    

    下载 (4)

    排序方法order

    corrplot(M, order = "AOE")
    corrplot(M,method = "color",order= "hclust",hclust.method="ward.D2")
    

    order:指定相关系数排序的方法,可以是原始顺序(original)、特征向量角序(AOE)、第一主成分顺序(FPC)、层次聚类顺序(hclust)和字母顺序,一般”AOE”排序结果都比”FPC”要好

    hclust.method:当order为hclust时,该参数可以是层次聚类中ward法、最大距离法等7种之一

    实验数据介绍

    本实验要做城市计算中的POI相关度分析,经过之前的预处理,对POI进行重分类、空间连接和相关性计算之后得到如图所示的文件格式。

    截取一部分

    image-20210316193426206

    读取文件

    使用read.csv()进行文件读取,如果在读取的时候把第一列当作index,则需要加row.names = 1,·如果是把第一行当作文件头可以加header = 1

    控制图例、文字

    cl.lim = c(0,1) #表示图例范围0-1
    tl.cex = 0.25 #表示字体是正常大小的0.25
    tl.col = "black" #字体颜色
    

    将结果输出到pdf中

    RStudio中直接导出的pdf没有字体,而本实验用到的数据量较大,直接导出图片格式文字不清楚,因此需要将结果输出到pdf中,有以下两种方法能够对中文进行正确输出。

    # 第一种方法,直接进行绘制,其优点是方便快捷;缺点是字体单一,只有标准宋体。
    # 指定pdf路径
    pdf("test.pdf",family="GB1")
    # 画图
    plot(x,y)
    dev.off()  
    
    # 调用Cairo程序包,使用CairoPDF()函数画图
    library(Cairo)
    CairoPDF("test.pdf")
    plot(x,y,family=”STKaiti”)  #
    STKaiti 表示字体为华文行楷;
    dev.off()
    

    最终代码

    library(corrplot)
    pdf("/Users/jiarui/Projects/Matrix.pdf",family="GB1")
    data <- read.csv("/Users/jiarui/Projects/cx/ProbMatrix2.csv",row.names = 1)
    data2 <- as.matrix(data)
    corrplot(corr = data2,method = "color",order= "hclust",hclust.method="ward.D2",cl.lim = c(0,1),tl.cex = 0.25,tl.col = "black")
    #corrplot(corr = data2,method = "color",order= "AOE",cl.lim = c(0,1),tl.cex = 0.3,tl.col = "blue")
    dev.off()
    

    结果

    在这里插入图片描述

    错误

    突然遇到了plot没有反应不出图,使用dev.new()命令之后就恢复了。

    展开全文
  • 想做各种离子之间的相关性热图,导入的TXT没办法保存上标,最后图片标签没有上标</p>
  • ggcorrplot | 简单的相关性热图绘制

    千次阅读 2021-04-01 11:24:36
    ggcorrplot的基础用法指南 ...计算相关性矩阵 #以内置的mtcars数据集为例 data(mtcars) #数据集格式如下 #cor()函数可以非常方便快捷的计算出连续变量之间的相关系数、 corr <- round(cor(mtcars),.

    在这里插入图片描述

    ggcorrplot的基础用法指南

    ggcorrplot

    ggcorrplot提供了一种对相关矩阵进行重新排序的解决方案,并在相关图上显示显著性水平。它还包括一个用于计算相关p值矩阵的函数。

    安装和加载

    install.packages("ggcorrplot")
    library(ggcorrplot)
    

    计算相关性矩阵

    #以内置的mtcars数据集为例
    data(mtcars)
    #数据集格式如下
    

    mtcars

    #cor()函数可以非常方便快捷的计算出连续变量之间的相关系数、
    corr <- round(cor(mtcars), 1)
    head(corr[, 1:6])
    
    > head(corr[, 1:6])
          mpg  cyl disp   hp drat   wt
    mpg   1.0 -0.9 -0.8 -0.8  0.7 -0.9
    cyl  -0.9  1.0  0.9  0.8 -0.7  0.8
    disp -0.8  0.9  1.0  0.8 -0.7  0.9
    hp   -0.8  0.8  0.8  1.0 -0.4  0.7
    drat  0.7 -0.7 -0.7 -0.4  1.0 -0.7
    wt   -0.9  0.8  0.9  0.7 -0.7  1.0
    
    #用ggcorrplot包提供的函数cor_pmat()计算p值
    p.mat <- cor_pmat(mtcars)
    head(p.mat[, 1:4])
    
    > head(p.mat[, 1:4])
                  mpg          cyl
    mpg  0.000000e+00 6.112687e-10
    cyl  6.112687e-10 0.000000e+00
    disp 9.380327e-10 1.802838e-12
    hp   1.787835e-07 3.477861e-09
    drat 1.776240e-05 8.244636e-06
    wt   1.293959e-10 1.217567e-07
                 disp           hp
    mpg  9.380327e-10 1.787835e-07
    cyl  1.802838e-12 3.477861e-09
    disp 0.000000e+00 7.142679e-08
    hp   7.142679e-08 0.000000e+00
    drat 5.282022e-06 9.988772e-03
    wt   1.222320e-11 4.145827e-05
    

    可视化相关性矩阵

    ggcorrplot(corr)#method默认为square,即方形
    

    cor_square

    # method = "circle" 圆形
    ggcorrplot(corr, method = "circle")
    

    cor_cicrl

    #重排矩阵,使用分层聚类
    ggcorrplot(corr, hc.order = TRUE, outline.color = "white")
    

    cor_hc

    #展示下半三角
    ggcorrplot(corr,
               hc.order = TRUE,
               type = "lower",
               outline.color = "white")
    

    cor_low

    #展示上半三角
    ggcorrplot(corr,
               hc.order = TRUE,
               type = "upper",
               outline.color = "white")
    

    cor_upper

    #改变主题和颜色
    ggcorrplot(
      corr,
      hc.order = TRUE,
      type = "lower",
      outline.color = "white",
      ggtheme = ggplot2::theme_gray,
      colors = c("#6D9EC1", "white", "#E46726")
    )
    

    cor_color

    #加上相关性系数标签
    ggcorrplot(corr,
               hc.order = TRUE,
               type = "lower",
               lab = TRUE)
    

    cor_lab

    #给有显著性差异的标上记
    ggcorrplot(corr,
               hc.order = TRUE,
               type = "lower",
               p.mat = p.mat)
    

    cor_pmat

    #在没有显著系数的地方留空
    ggcorrplot(
      corr,
      p.mat = p.mat,
      hc.order = TRUE,
      type = "lower",
      insig = "blank"
    )
    

    cor_pmat_blank

    参考

    https://rpkgs.datanovia.com/ggcorrplot/


    往期:

    ggpubr|让数据可视化更加优雅

    ggsci | 让你的配色Nature化

    展开全文
  • 本流程还是使用R统计绘图-环境因子相关性热图中的不同土壤环境因子数据进行相关性分析、绘制热图并进行图细节更改。流程开始按下图整理环境因子数据,行为样品名称,列为环境因子名称和分组信息,共有11个环境变量,...

    有师妹想要更改热图的颜色和字体,想着之前相关性绘图等推文只是使用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。让我们大家一起学习,互相交流,共同进步。

    展开全文
  • corrplot包绘制相关性

    千次阅读 2019-06-19 21:07:41
    #导入数据 data = read.table(“cor.txt”,header=T,sep="\t") ...#相关性 cor_matr = cor(data1) cor_matr library(corrplot) corrplot(cor_matr, method = “circle”) corrplot(cor_matr, meth...

    #导入数据
    data = read.table(“cor.txt”,header=T,sep="\t")
    data1<-data[,-1]
    #输入数据的格式
    在这里插入图片描述
    #相关性
    cor_matr = cor(data1)
    cor_matr
    在这里插入图片描述
    library(corrplot)
    corrplot(cor_matr, method = “circle”)
    在这里插入图片描述
    corrplot(cor_matr, method = “square”)
    在这里插入图片描述
    corrplot(cor_matr, method = “ellipse”)
    在这里插入图片描述
    corrplot(cor_matr, method = “shade”)
    在这里插入图片描述
    corrplot(cor_matr, method = “color”)
    在这里插入图片描述
    corrplot(cor_matr, method = “pie”)
    在这里插入图片描述
    method 参数的设置不同,相关性热图的表现形式也就不一样了。
    #layout type
    corrplot(cor_matr, method = “pie”,type=‘upper’)
    在这里插入图片描述
    corrplot(cor_matr, method = “pie”,type=‘upper’)
    corrplot.mixed(cor_matr)
    在这里插入图片描述
    corrplot(cor_matr, method = “pie”,type=‘upper’)
    corrplot.mixed(cor_matr, lower.col = “black”, number.cex = .7)
    在这里插入图片描述
    corrplot(cor_matr, method = “pie”,type=‘upper’)
    corrplot.mixed(cor_matr, lower = “ellipse”, upper = “circle”)
    在这里插入图片描述

    corrplot.mixed(cor_matr, lower = “square”, upper = “circle”, tl.col = “black”)
    在这里插入图片描述
    corrplot(cor_matr, order = “AOE”)
    在这里插入图片描述
    corrplot(cor_matr, order = “hclust”)
    在这里插入图片描述
    corrplot(cor_matr, order = “FPC”)
    在这里插入图片描述
    corrplot(cor_matr, order = “alphabet”)
    在这里插入图片描述
    corrplot(cor_matr, order = “hclust”, addrect = 3)
    在这里插入图片描述
    corrplot(cor_matr, type = “upper”, order = “hclust”,col = c(“black”, “white”), bg = “lightblue”)
    在这里插入图片描述
    col1 <- colorRampPalette(c("#7F0000", “red”, “#FF7F00”, “yellow”, “white”,
    “cyan”, “#007FFF”, “blue”, “#00007F”))
    col2 <- colorRampPalette(c("#67001F", “#B2182B”, “#D6604D”, “#F4A582”,
    “#FDDBC7”, “#FFFFFF”, “#D1E5F0”, “#92C5DE”,
    “#4393C3”, “#2166AC”, “#053061”))
    col3 <- colorRampPalette(c(“red”, “white”, “blue”))
    col4 <- colorRampPalette(c("#7F0000", “red”, “#FF7F00”, “yellow”, “#7FFF7F”,
    “cyan”, “#007FFF”, “blue”, “#00007F”))
    whiteblack <- c(“white”, “black”)
    corrplot(cor_matr, order = “hclust”, addrect = 2, col = col1(100))
    在这里插入图片描述
    corrplot(cor_matr, order = “hclust”, addrect = 2, col = whiteblack, bg = “gold2”)
    在这里插入图片描述
    corrplot(cor_matr, order = “hclust”, addrect = 2, col = heat.colors(100))
    在这里插入图片描述
    corrplot(cor_matr, type = “lower”, order = “hclust”, tl.col = “black”, tl.srt = 45)
    在这里插入图片描述
    corrplot(abs(cor_matr),order = “AOE”, col = col3(200), cl.lim = c(0, 1))
    在这里插入图片描述
    https://cran.r-project.org/web/packages/corrplot/vignettes/corrplot-intro.html

    展开全文
  • 在我的上一篇的内容中(R语言绘制热图实践(一)pheatmap包 ),我以绘制相关系数图为出发点,介绍了使用pheatmap包画相关系数图和热图的一些使用。 为了对比,这篇将介绍使用R包corrplot进行相关系数图的一些实践...
  • 本流程是进行不同土壤环境因子相关性分析并绘制热图,流程开始按下图整理环境因子数据,行为样品名称,列为环境因子名称和分组信息,共有11个环境变量,3个分组信息。 图1|环境因子及分组信息表,env.csv。 2 ...
  • 本流程还是使用R统计绘图-环境因子相关性热图中的不同土壤环境因子数据进行相关性分析、绘制热图并进行图细节更改。流程开始按下图整理环境因子数据,行为样品名称,列为环境因子名称和分组信息,共有11个环境变量,...
  • 写在前面本文章旨在给出一个简便易用的环境因子与主要物种丰度的相关性分析及结果展示方式,适用于环境因子和主要物种相对较少的情况。如果样本数目过多、微生物群落十分复杂,建议使用网络分析评估特定环境因子与...
  • corrplot包与ggcorrplot相关图(一)

    万次阅读 2019-04-10 11:36:00
    作者:李誉辉四川大学在读研究生简介:相关图是基于相关系数矩阵绘制的图。通常是将1个变量映射到多个视觉元素,所以看起来很花哨。如果是椭圆:则椭圆的色相对应相关性的正负,...
  • chart.Correlation绘制相关性热图

    千次阅读 2020-04-08 20:36:06
    可以同时显示相关性和显著性的热图 我们最终绘制的是如下图所示 首先配置的文件如下所示 行为样本名,列为基因名的一个表达谱 读取文件 data = read.table("cor.txt",header=T,sep="\t") data1<-data[,-1] #...
  • 本文就使用R语言中的corrplot来绘制相关系数矩阵热图进行介绍。数据集有506个观测样本,14个变量:image.png首先,将数据导入R软件中:> mydata> summary(mydata)然后计算相关系数,并下载相关系数矩阵...
  • 关于相关性,表示数据之间的相互依赖关系。但需要注意,数据具有相关性不一定意味着具有因果...下面我们就来看下如何用R语言实现相关性计算并绘制带有显著性星标的相关性热图。1.相关系数计算以R自带的数据集mtcar...
  • R语言相关性计算及使用ggcorrplot包相关性分析热力图可视化分析实战 目录 R语言相关性计算及使用ggcorrplot包相关性分析热力图可视化分析实战 #安装ggcorrplot包 #导入数据并计算相关性系数 # 计算相关性的P...
  • R语言 热图 相关系数热图

    千次阅读 2018-12-04 11:50:48
    如果只是画热图的画,可以用stats中的heatmap或者qplots中的heatmap.2 如果想要用画单一维度变量的相关系数热图可以用 ...corrplot(cor(ST917)) #相关系数热图 corrplot(ST917,is.corr = FALSE) #普通热图 ...
  • R Corrplot软件包简介,绘制相关热图

    千次阅读 多人点赞 2019-10-17 15:31:10
    Corrplot软件包简介 介绍 所述corrplot包是相关矩阵,置信区间的图形显示。它还包含一些进行矩阵重新排序的算法。另外,corrplot擅长细节,包括选择颜色,文本标签,颜色标签,布局等。 可视化方法 有七个可视化...
  • 本文就使用R语言中的corrplot来绘制相关系数矩阵热图进行介绍。下面以波士顿Boston的房价数据为例,这个数据是数据挖掘、机器学习中常用的数据,可以到UCI的机器学习数据库去下载:...
  • R包corrplot绘图相关系数矩阵

    千次阅读 2020-07-14 07:00:00
    今天分享一个相关分析可视化实战!之前我们分享了关于相关分析的原理,还有ggcorrplot包的使用。相关性分析方法基础:Spearman、Kendall和PearsonR相关矩阵可视化包...
  • R绘制相关性

    2021-01-21 23:17:41
    library(corrplot) M <- cor(mtcars) col1 <- colorRampPalette(c("#7F0000", "red", "#FF7F00", "yellow", "white", "cyan", "#007FFF", "blue","#00007F")) col2 <- colorRampPalette.
  • 生物学重复好不好--看看样本相关性

    千次阅读 2020-09-19 22:03:55
    以转录组数据为例,一般会设置3-5个生物学重复,如何确认生物学重复的效果好坏呢,方法有很多,可以计算两两样本之间的相关性,可以进行样本的PCA分析,或者绘制聚类热图,这里首先介绍样本相关性方法。 我们将在R,...
  • 温故知新 R语言 - 入门环境Rstudio R语言 - 热图绘制 (heatmap) R语言 - 基础概念和矩阵操作 R语言 - 热图简化 热图美化 上一期的绘图命令中,最后一行的操作抹去了之前设定的横轴标记的旋转,最后出来的图比较难看...
  • R语言特征值相关性分析

    千次阅读 2019-10-16 09:24:45
    大到几个转录组样本的整体相关性分析,小到挑选了一些候选基因看它们在不同样本中的表达模式相关性。当我们做完了相关性分析的时候,常常会用下面这种图形来展示: 那么问题来了,有没有别的方法,可以让我的...
  • 建立相关性矩阵,根据r值进行分组,将高度相关的纹理特征分为1组 res (T2star[T2star_selected]) library(Hmisc) library(corrplot) plot1<-corrplot(res, order = "hclust", tl.col = "black", tl.srt = 45,addrect...

空空如也

空空如也

1 2 3 4 5 6
收藏数 102
精华内容 40
关键字:

corrplot相关性热图