Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >相关矩阵可视化-神颜R包!

相关矩阵可视化-神颜R包!

作者头像
作图丫
发布于 2022-03-29 04:20:35
发布于 2022-03-29 04:20:35
1.6K00
代码可运行
举报
文章被收录于专栏:作图丫作图丫
运行总次数:0
代码可运行

导语

GUIDE ╲

ggcorr是一个可视化函数,可以用于将矩阵绘制为ggplot2图片

背景介绍

在进行生物信息学分析的过程中,经常需要通过计算得到一些连续变量的相关性矩阵,这种相关系数可以通过R语言自带的cor函数得到,但是R并没有对矩阵提供可视化方法。最近小编在阅读文献的时候发现了一些漂亮的相关性图,在这里分享给大家。同时我们也一起学习一下如何才能绘制出像高分文章中一样漂亮的相关性图!

Single-cell analysis reveals transcriptomic remodellings in distinct cell types that contribute to human prostate cancer progression.Nature cell biology.

A single-cell landscape of high-grade serous ovarian cancer.Nature Medicine.

今天小编就将给大家分享一个精美的R语言绘制相关系数矩阵的软件包:ggcorr。ggcorr函数主要用于绘制相关矩阵图,它的主要依赖包是ggplot2。它使用ggplot2包中的“grammar of graphics”来实现可视化,其结果在图形上接近corrplot函数的结果。如果大家想了解ggcorr的最新版本,可以访问https://github.com/briatte/ggcorr,同时也可以查找到关于如何使用它的许多例子。

ggcorr的安装

ggcorr可以通过安装GGally包来获得

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
###下载安装###
install.packages("GGally")
library(GGally)
library(ggplot2)##依赖包为ggplot2

ggcorr的使用

01

函数介绍

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ggcorr(
  data,##包含连续数据的数据框或矩阵
  method = c("pairwise", "pearson"),##一个包含两个字符串的向量
  cor_matrix = NULL,##用于计算的命名相关矩阵
  nbreaks = NULL,##相关系数的中断数,将产生分类色阶
  digits = 2,##在相关系数的中断处显示的位数,默认为2
  name = "",##图例的名称
  low = "#3B9AB2",##低相关系数颜色
  mid = "#EEEEEE",##中相关系数颜色
  high = "#F21A00",##高相关系数颜色
  midpoint = 0,##相关系数连续标度的中点值
  palette = NULL,
  geom = "tile",##几何对象
  min_size = 2,##当geom设置为“圆”时,圆的最小尺寸。
  max_size = 6,##当geom设置为“圆”时,圆的最大尺寸。
  label = FALSE,##是否向绘图中添加相关系数。
  label_alpha = FALSE,##当相关系数接近0时,是否使其变得越来越透明。
  label_color = "black",##相关系数的颜色
  label_round = 1,##相关系数的四舍五入
  label_size = 4,##相关系数的大小
  limits = c(-1, 1),##相关系数上下限
  drop = is.null(limits) || identical(limits, FALSE),
  layout.exp = 0,
  legend.position = "right",##相关系数的图例在哪里,默认在下
  legend.size = 9,##图例标题和标签的大小
  ...
)

02

绘图实例

使用自带的mtcars数据作为样本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
##获取mtcars数据##
data=mtcars
##查看数据格式##
head(data)

首先使用ggcorr函数对每一列之间绘制相关性图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ggcorr(data)
##在这里我没有定义第二个参数,函数默认使用pearson计算

默认情况下,出图的色标是渐变色,如果想要调整成为若干个色阶,可以通过如下参数调整:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ggcorr(data,nbreaks = 4)###将颜色分为四个色阶

调色板功能:在绘图中,可以通过调节low、mid、high参数来调节相关性系数对应的颜色

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ggcorr(data,low = "blue",mid = "grey",high = "red")#定义相关性最低为蓝色,中间水平为灰色,最高为红色

在ggcorr画图结果中,相关系数不仅可以通过颜色表示,还可以直接显示具体数值,方便用户比较:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ggcorr(data,nbreaks = 4, label = TRUE)

在作图的时候,有的小伙伴会更喜欢使用圆圈来代表相关系数的高低,那么可以通过geom参数来改变:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ggcorr(data,nbreaks = 4, geom = "circle")#geom=”circle”设置相关系数为圆圈,geom=”text”可将相关系数设置为文
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ggcorr(data, geom = "text", nbreaks = 4, palette = "RdYlBu",hjust = 1, label = TRUE, label_alpha = 0.5)

调整标签的字体及颜色:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ggcorr(data, geom = "text",hjust = 0.75, size = 3.5, color = "darkblue")#调节标签大小为3.5,颜色诶深蓝色

03

结果展示

介绍了这么多,就让我们一起整合ggcorr的各种参数,去绘制一幅漂亮的相关性矩阵图吧!

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ggcorr(
  data,
  method = c("pairwise", "pearson"),
  digits = 2,
  name = "",
  low = "#3B9AB2",
  mid = "#EEEEEE",
  high = "#F21A00",
  midpoint = 0,
  palette = NULL,
  geom = "text",
  min_size = 2,
  max_size = 6,
  label = FALSE,
  label_alpha = FALSE,
  label_color = "grey",
  label_round = 1,
  label_size = 4,
  limits = c(-1, 1),
  layout.exp = 0,
  legend.position = "right",
  legend.size = 9,
)

小编总结

1、ggcorr可以看作ggplot2包的扩展,能够绘制常用的相关性矩阵图形。

2、ggcorr应用比较简单,制图精美,可以满足我们绘制漂亮的相关性图形的需求。

了解了这么多,大家可以将它应用于实际,去绘制属于自己的相关性图啦!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作图丫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ggplot2扩展
写在最后:有时间我们会努力更新的。大家互动交流可以前去论坛,地址在下面,复制去浏览器即可访问,弥补下公众号没有留言功能的缺憾。
生信喵实验柴
2022/10/25
3580
ggplot2扩展
R语言之可视化(25)绘制相关图(ggcorr包)
相关矩阵显示相对大量连续变量之间的相关系数。 然而,虽然R提供了一种通过cor函数创建这种矩阵的简单方法,但它没有为该函数创建的矩阵提供绘图方法。ggcorr函数提供了这样的绘图方法,使用ggplot2包中实现的“图形语法”来渲染绘图。 在实践中,其结果在图形上接近于corrplot函数的结果,这是优秀的arm包的一部分。
用户1359560
2019/06/19
7.8K0
ggcor |相关系数矩阵可视化
相关系数矩阵可视化已经至少有两个版本的实现了,魏太云基于base绘图系统写了corrplot包,应该说是相关这个小领域中最精美的包了,使用简单,样式丰富,只能用惊艳来形容。Kassambara的ggcorrplot基于ggplot2重写了corrplot,实现了corrplot中绝大多数的功能,但仅支持“square”和“circle”的绘图标记,样式有些单调,不过整个ggcorrplot包的代码大概300行,想学习用ggplot2来自定义绘图函数,看这个包的源代码很不错。还有部分功能相似的corrr包(在写ggcor之前完全没有看过这个包,写完之后发现在相关系数矩阵变data.frame方面惊人的相似),这个包主要在数据相关系数提取、转换上做了很多的工作,在可视化上稍显不足。ggcor的核心是为相关性分析、数据提取、转换、可视化提供一整套解决方案,目前的功能大概完成了70%,后续会根据实际需要继续扩展。
生信宝典
2019/11/07
8K3
ggcor |相关系数矩阵可视化
免疫浸润结果可视化
在之前的推文中我们介绍了2行代码实现9种免疫浸润方法,今天给大家介绍下常见的免疫浸润结果的可视化。
医学和生信笔记
2023/08/30
1.3K0
免疫浸润结果可视化
这也太简单了吧!一个函数完成数据相关性热图计算和展示
NGS系列文章包括Linux基础 (PATH和path,傻傻分不清)、R基础 (ggplot2高效实用指南 (可视化脚本、工具、套路、配色))、Python基础 (Python学习极简教程)、NGS基础、转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这)、ChIP-seq分析 (ChIP-seq基本分析流程)、单细胞测序分析 (重磅综述:三万字长文读懂单细胞RNA测序分析的最佳实践教程 (原理、代码和评述))、DNA甲基化分析、重测序分析、GEO数据挖掘(典型医学设计实验GEO数据分析 (step-by-step) - Limma差异分析、火山图、功能富集)、图形解读 (可视化之为什么要使用箱线图?)、GSEA (一文掌握GSEA,超详细教程)、WGCNA (WGCNA分析,简单全面的最新教程)等内容。
生信宝典
2020/09/18
2.9K0
ggstatsplot:R统计绘图的颜值天花板
写论文画图的时候小提琴图,热图,箱线图,画来画去都长得差不多,是不是觉得很烦恼?今天小编为大家介绍一个可以让科研论文统计绘图颜值提升好几个level的R包:ggstatsplot。
作图丫
2022/03/29
2.4K0
ggstatsplot:R统计绘图的颜值天花板
羡慕高分文章美图?这26款好看的可视化R包助你一臂之力
本文将简要盘点R中常用的可视化包,并通过简要介绍包的特点来帮助读者深入理解可视化包。
生信交流平台
2020/08/05
4K0
文献配套GitHub发表级别绘图04-相关性散点图
文章来源:"Preoperative immune landscape predisposes adverse outcomes in hepatocellular carcinoma patients with liver transplantation" (2021,npj Precision Oncology),数据与代码全部公开在https://github.com/sangho1130/KOR_HCC。
生信技能树
2022/03/03
1.2K0
文献配套GitHub发表级别绘图04-相关性散点图
相关性分析你了解多少?可视化展示一下吧~~
今天小编介绍数据分析中最常用的方法之一相关性分析,该步骤多用于数据探索过程中,用于检测数据维度之间的相关密切程度。本文将通过以下内容介绍相关性分析:
DataCharm
2022/10/25
4.3K0
相关性分析你了解多少?可视化展示一下吧~~
ggcorr函数带你绘制不一样的相关系数图
购买后微信发小编订单截图即邀请进新的会员交流群,小编的文档为按年售卖,只包含当年度的除系列课程外的文档,有需要往年文档的朋友也可下单购买,需要了解更多信息的朋友欢迎交流咨询。
R语言数据分析指南
2023/06/07
4470
scatterpie绘制气泡饼图及corrplot绘制相关性图
回顾之前我们介绍的BIB发表的工作:人类致癌通路的全面综述,文章中的绘图都很漂亮,小编发现文中主要的数据展示的绘图方法有饼图、堆积条形图、网络图、热图、箱式图、翻转条形图,都是一些比较常见的绘图方法,但是因作者比较善用配色,绘制的图形就看起来比较高级。吸引小编的是一组“饼图矩阵”,如下所示:
作图丫
2022/03/29
2.6K0
scatterpie绘制气泡饼图及corrplot绘制相关性图
R语言主成分分析可视化(颜值高,很详细)
网络上很多R语言教程都是基于R语言实战进行修改,今天为大家介绍更好用的R包,在之前聚类分析中也经常用到:factoextra和factoMineR,关于主成分分析的可视化,大家比较常见的可能是ggbiplot,这几个R包都挺不错,大家可以比较下。
医学和生信笔记
2023/02/14
1.2K0
R语言主成分分析可视化(颜值高,很详细)
R可视化之美化功能富集条形图
基因集富集分析是很常见的分析内容,可视化展示的方式也多样。本文提供两组分组间的差异表达基因集的功能富集结果的一些相对美观的可视化方式。
生信技能树jimmy
2021/11/04
2.5K0
R语言之可视化①③散点图+拟合曲线目录
gene2) Pearson's product-moment correlation data: data gene1 and data$gene2 t = 2.4858, df = 395, p-value = 0.01334 95 percent confidence interval: 0.02600102 0.21984192 cor 0.1241053
用户1359560
2018/12/14
2.4K0
R语言之可视化①③散点图+拟合曲线目录
ggplot2~一幅漂亮的散点图和新学到的配色方案
今天在找R shiny的教程的时候发现了一幅比较漂亮的散点图,配色很好看,代码记录在这里。
用户7010445
2020/04/27
5.1K0
全网最全的R语言基础图形合集
直方图是一种对数据分布情况进行可视化的图形,它是二维统计图表,对应两个坐标分别是统计样本以及该样本对应的某个属性如频率等度量。
生信学习者
2024/06/12
1000
全网最全的R语言基础图形合集
跟着Forest Ecol Mang学作图:R语言ggplot2作图展示相关性分析结果
期刊 Forest Ecology and Management 农林科学二区top 影响因子3.55
用户7010445
2022/01/05
9090
跟着Forest Ecol Mang学作图:R语言ggplot2作图展示相关性分析结果
R语言入门系列之二
在进行正式的数据分析之前,通常要对数据进行处理。而读取数据仅仅是最简单的,之后还要进行数据的筛选、排序、转换等。数据框是最方便的数据存储、管理对象。R有很多内置的示例数据集包括向量、矩阵数据框等,可以使用data()进行查看,接下来我们以R内置数据mtcars(32辆汽车在11个指标上的数据)为例进行分析,如下所示:
SYSU星空
2022/05/05
4K0
R语言入门系列之二
高阶可视化绘图系统:ggplot2入门
ggplot2是《The Grammar of Graphics》/《图形的语法》中提出了一套图形语法,将图形元素抽象成可以自由组合的要素,类似Photoshop中的图层累加,ggplot2将指定的元素/映射关系逐层叠加,最终形成所图形。更加深入学习ggplot2,请参考《ggplot2: 数据分析与图形艺术》。
1480
2019/07/22
1.7K0
高阶可视化绘图系统:ggplot2入门
ggPlantmap植物可视化的R工具包
ggPlantmap包含了一些内置的数据集,描述了不同的植物组织和发育阶段。这些数据集可以直接用于绘图,也可以与用户自己的数据合并。
R语言数据分析指南
2023/09/24
6950
ggPlantmap植物可视化的R工具包
推荐阅读
相关推荐
ggplot2扩展
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验