R 数据可视化
文章平均质量分 85
R 语言数据可视化
名本无名
生物信息工程师,日常工作: Python 和 R 数据处理、分析及可视化等。还有其他。。。
展开
-
R 数据可视化 —— 对角线分割热图
之前所介绍的热图,其每个颜色块都是一个矩形,而今天要介绍的是如何绘制对角线分割热图。也就是每个颜色块矩形被对角线分割为上下两个三角形,然后两个三角形分别用不同的变量来设置填充色。这种图形重要用于展示行列变量配对值的不同维度信息,比如,对于相关性矩阵,上下两个三角形的填充色可以分别用来表示相关性大小和显著性。类似于下面这张图看到这张图,第一反应便是可以使用函数来分别绘制上三角和下三角,两个图层叠加便可以实现这种效果。而其中的点的数量表示的是显著性大小,可以使用点图来实现。原创 2023-11-23 16:25:53 · 574 阅读 · 0 评论 -
R 数据可视化 —— gtable 绘制多个 Y 轴(补充)
上一节所介绍的绘制多个Y轴,只能在图形的右侧依次添加Y轴。在Y轴数量过多的情况下(当然,轴不应该太多),将轴平均地放置在左右两侧会更美观些。因此,这节主要介绍如何在图形的左侧添加Y轴。原创 2023-11-23 16:24:35 · 806 阅读 · 0 评论 -
R 数据可视化 —— 用 gtable 绘制多个 Y 轴
经过前面一节的介绍,我们对gtable布局应该有了较为清晰的认识,下面让我们来看看ggplot对象的布局首先,使用ggplot创建一个图形p获取ggplot图形对象,是一个gtable对象> class(g)查看对象> g可以看到,每个位置所放置的对象及其名称,共18个。我们可以很容易地根据名称来获取对应的图形对象主要包括主绘图区域panelX和Y轴及其对应的轴标签,标题,题注等我们可以使用来展示整个布局例如,(7,5)对应的就是名称为panel的对象,(7,4)对应的就是左边的Y轴,(7,3)原创 2023-11-23 16:23:26 · 649 阅读 · 3 评论 -
R 数据可视化 —— gtable
多次有人问我,如何使用R来绘制多个Y轴。那我就研究了下,稍微介绍一下学习所得。当我们需要展示的数据,包含相同的X轴,但是具有两个不同的Y轴变量时,我们会选择在右侧添加一条轴,在ggplot2中,可以使用sec_axis来设置。那如果Y轴变量有多个呢?我们该如何绘制?一种简单的思路就是,在图像绘图区域的左右两侧添加两条轴,多余的轴可以添加到右侧,图像还是填充到绘制区域。那如何实现这一功能呢?下面我们将介绍今天的主角 ——gtable,搭配grid包,可以轻松的为ggplot添加上多个Y轴gtable。原创 2023-11-23 16:22:44 · 210 阅读 · 0 评论 -
R 数据可视化 —— ggforce(注释和分面)
接上一节内容,这一节主要介绍ggforce提供的分组注释以及分面功能。原创 2023-11-23 16:20:57 · 265 阅读 · 0 评论 -
R 数据可视化 —— ggforce(线条)
接上一节内容,继续介绍 ggforce 包的使用。原创 2023-11-23 16:20:19 · 185 阅读 · 0 评论 -
R 数据可视化 —— ggforce(形状)
ggforce 是 ggplot2 的一个扩展包,提供了许多自定义的工具函数,可以更方便地为图形添加不同的形状、线条等注释,更灵活的分面图形绘制。原创 2023-11-23 16:19:40 · 612 阅读 · 0 评论 -
R 数据可视化 —— ggpol
ggpol是ggplot2的一个扩展包,添加了一些图形。主要可以绘制(议会图),也可以方便的绘制金字塔图,以及箱线图和散点图的混合等。下面我们简要介绍一下如何使用ggpol绘制对应的图形。原创 2023-11-23 16:18:37 · 191 阅读 · 0 评论 -
R 数据可视化 —— 图形排列之 patchwork
上一节讲的是如何使用cowplot包来对图形进行排列对齐,今天要讲的是,如何使用patchwork包来排列图形patchwork包主要针对的是ggplot2图形,也可以是其他图像系统绘制的图形。patchwork以一种简单的方式对图形进行排列和组合,不论多复杂的组合图形,都能确保图形之间正确对齐安装patchwork导入相关模块。原创 2023-11-23 16:16:50 · 1115 阅读 · 0 评论 -
R 数据可视化 —— 图形排列之 cowplot
cowplot包是ggplot的一个简单插件,可以对多个图形进行排列和对齐,来生成复杂的出版级别的图片,还提供了一些主题和帮助函数。安装# 安装最新的开发版本导入相关包。原创 2023-11-23 16:15:24 · 700 阅读 · 0 评论 -
R 数据可视化 —— ggsci 配色
在绘图时,如何搭配颜色,是一个很让人头疼的问题。今天要介绍的包ggsci能大大减轻我们的负担。ggsci提供了很多高质量的颜色搭配,其灵感来自于各种SCI杂志的配色,其提供的配色函数也是以对应的杂志或数据库名称来命名的其中palname表示对应颜色板的名称,此外,还有对应的画板颜色生成函数。原创 2023-11-23 16:10:30 · 2791 阅读 · 0 评论 -
R 数据可视化 —— circlize 基因组高级绘图
在之前的章节中,我们介绍了如何在同一个轨迹中缩放某一区域,这种方式只适用于缩放区域较少的情况下,如果缩放的区域较多,那就需要另一种方式了,将缩放区域放置在一个新的轨迹中。函数,该函数接受两个绘图函数,其中一个用于绘制原始数据圆形图,另一个用于绘制缩放区域圆形图,我们可以在两个绘图函数中添加更加复杂的图形,例如,为缩放区域添加背景色。函数用于设置基因组区域的文本标签,标签的位置会自动调整,避免重叠。我们需要展示检测区域在整个基因组中的位置,并绘制检测区域中的。在图中,缩放数据绘制在原始数据的内侧,通过调换。原创 2023-11-22 09:44:41 · 993 阅读 · 0 评论 -
R 数据可视化 —— circlize 基因组绘图函数
轴数据,可以传递对应的列名或列索引,默认为所有数值列(从第四列开始),这些数据拥有相同的。,用于传递用户不可见的变量,并交由其内部的基础绘图函数进行解析,如。n 参数对不同的输入数据或不同的模式,会有不同的表现形式。如果在堆叠模式下输入数据是包含多列数值列的数据框,则。如果输入的是数据框列表,则每个数据框被认为是一个单元,,使用数据框列表,两个数据框的点设置不同的颜色。,用数据框列表绘制分组折线图,每组为一个数据框。表示的是当前染色体,当前数据框所对应的值。列的数据框,绘制分组折线图,每组表示一列。原创 2023-11-22 09:43:47 · 374 阅读 · 0 评论 -
R 数据可视化 —— circlize 基因组初始化
圆形可视化广泛应用于基因组及其相关的组学领域中,能够有效地展示高维基因组学数据。在基因组数据中,通常是根据染色体进行分类,x轴对应于基因组上的位置,也可以是其他类型的基因组数据circlize: 添加轨迹和图形: 添加点: 添加线条或线段: 添加矩形: 添加文本: 添加连接这样函数与基础的绘制函数是类似的,只是接受的输入数据格式不同,都是基于基础的circlize绘图函数实现的(如等)。使用初始化圆形图,会创建两个轨迹,一个用于包含轴和染色体名称,另一个轨迹用于绘制ideogram,使用。原创 2023-11-22 09:42:43 · 530 阅读 · 0 评论 -
R 数据可视化 —— circlize chordDiagram 高级用法
默认风格的已经可以满足大部分需求了,下面我们介绍一些更高级别的图形配置在函数中,没有对扇形标签进行控制的参数,我们可以使用预先放置的空轨迹来个性化轴标签。例如# 添加一个空轨迹# 在空轨迹中放置文本标签也可以直接将标签放置到格子里面添加条件判断,将角度小于10度的扇形设置为不同的颜色和文本朝向} else {类似的,我们也可以对轴进行个性化设置,例如我们可以在第一条空白轨迹中添加另一个百分比坐标轴# 添加点线# 大于 30 度的间隔为 0.2,小于 30 度的间隔为 0.5。原创 2023-11-22 09:42:00 · 708 阅读 · 0 评论 -
R 数据可视化 —— circlize 和弦图
和弦图可以用连接线或条带的方式展示不同对象之间的关系连接,可以直接显示不同对象之间存在关系连接的宽度与关系的强度成正比连接的颜色可以代表关系的另一种映射,如关系的类型扇形的大小,代表对象的度量在circlize,并不需要使用来一个个绘制。原创 2023-11-22 09:41:19 · 1182 阅读 · 0 评论 -
R 数据可视化 —— circlize 高级布局
默认情况下,扇形的宽度(即角度大小)是根据数据范围自动确定的,一般也不会去修改其宽度。在某一单元格绘制图形的方式有两种,上面是通过指定扇形对应的数据的方式来绘制的,还有一种方式是,先创建一个空的轨迹,然后使用。例如,通过合并两个圆形,每个圆形绘制一半,可以达到将圆形分离为两部分的目的。在某些情况下,我们可能想通过设置扇形的宽度来凸显其内部结构,或突出展示扇形内的某一区域的信息。要突出显示扇形区域,最简单的方式是将其作为一个新的分类,添加到数据中,并设置对应扇形的宽度。参数的值,可以显示圆形的某一部分。原创 2023-11-22 09:37:02 · 532 阅读 · 0 评论 -
R 数据可视化 —— circlize 圆形热图
在前一节,我们介绍了如何使用函数来绘制圆形热图,在0.4.10版本之后,circlize包提供了函数,来简化圆形热图的创建和绘制。下面我们来介绍如何使用该函数来绘制圆形热图,首先,创建数据),构造100*10的矩阵,并随机分为5类。如果是正常聚类热图的话。原创 2023-11-22 09:36:15 · 1658 阅读 · 1 评论 -
R 数据可视化 —— circlize 复杂图形与图例
我们介绍过了各种柱状图/条形图的绘制,如堆积型、并列型,还有径向柱状图,现在我们再介绍一种圆形柱状图的绘制。因为我们需要绘制了两个树状图,要保证它们的高度一致,可以去两个当中更高的那个来设置。的值,可以让所有的单元格绘制相同数量的柱子,有利于单元格之间的分布比较。我们可以使用一些简单的图形对象,将它们组合起来,绘制成各种复杂的图形。默认情况下,每个单元格的柱子的数量会根据数据自动确定,通过固定。包对树形图的属性进行设置,树形图默认是朝外的,可以设置。我们要绘制两个独立的热图,首先,构造数据。原创 2023-11-22 09:35:33 · 552 阅读 · 0 评论 -
R 数据可视化 —— circlize 图形
这一节,我们将介绍circlize提供的图形对象函数,这些函数默认在当前的单元格中绘制。因此,如果在panel.fun函数外调用,需要传递扇形及轨迹的索引来指定单元格。例如,点图使用方式有})原创 2023-11-22 09:34:54 · 532 阅读 · 0 评论 -
R 数据可视化 —— circlize 布局
新创建的图形会放置在前面一个图形的内侧,只有创建了图形轨迹之后,才能往里面添加图形。(该函数接口未暴露,需要这种引用方式)将极坐标转换为画布上的坐标,这样就可以为添加一些特殊的图形。函数时创建的,必须使用分类变量。通过获取当前单元格的索引,可以获取对应扇形区域的数据子集,从而到达不使用。参数可以是所有扇形的子集,意味着只对指定的这些扇形做相应的调整。可以看到不同单元格的同一个坐标点,其数据坐标是不一样的。,用于将单元格的数据坐标转换为极坐标,其逆转换函数。一样,但是更加简洁,例如,上面的代码可以改写为。原创 2023-11-22 09:34:12 · 253 阅读 · 0 评论 -
R 数据可视化 —— circlize 简单介绍
圆形布局图非常适合表示复杂信息,其中最有名的软件当属Circos,我们也介绍过Circos的配置文件方法。虽然Circos软件很好用,但是它使用的是perl语言写的,而且使用的是配置文件的方式来绘制图形,这样就使得数据分析与绘图之间分离开了,造成了很大的不便。circlize是Circos的R语言实现,但并不是生成Circos配置文件的前端封装,而是完全基于R语言风格的统计和图形语法实现的。原创 2023-11-22 09:33:32 · 457 阅读 · 0 评论 -
R 数据可视化 —— ggraph 边与节点
将网络图结构与我们平常绘制的数据图进行对比,我们可以发现,图的布局就相当于每个数据点的坐标,而节点就相当于数据点,边就是连接数据点的几何图形,可以是直线、曲线或带箭头的线等。所以,不同的节点形状和不同的边形状进行组合,就绘制出了上节我们展示的各式各样的图形。下面,我们要介绍节点与边的相关操作,图结构如下。原创 2023-11-22 09:31:28 · 633 阅读 · 2 评论 -
R 数据可视化 —— ggraph 图形创建与布局
在前面几节,我们对igraph进行了一些简单介绍。接下来我们要介绍的是ggraph包的使用通常,ggraph会和tidygraph一起搭配使用,这两个包都是写的。tidygraph提供了一系列tidyAPI用于操作图,通常可以将图对象设计为两个tidy表,一个用于表示node数据,另一个用于表示edge数据。还提供了一些额外的动词用于操作这两个表,同时也提供了很多的图论算法,让图形对象的处理看起来更像是在处理数据框。ggraph是ggplot2的扩展,用于绘制关系型数据结构,如网络、图和树等。原创 2023-11-21 19:14:42 · 911 阅读 · 0 评论 -
R 数据可视化 —— igraph 函数应用
igraph提供了许多图论算法,例如我们熟知的最短路径、最大流最小割、最小生成树等。我们针对下面的图,介绍一些简单的图论相关的函数plot(g)原创 2023-11-21 13:27:25 · 964 阅读 · 0 评论 -
R 数据可视化 —— igraph 布局与绘图
图是一种抽象的数学结构,不同对象之间通过线条连接起来,而对象在图中并没有固定的位置表示,不同的放置位置显示出的效果通常是不一样的。选择一种优秀的布局方式,可以让图形呈现出更好的效果,而igraph的工作方式是通过一类node-edge的算法来进行布局的。算法会将节点作为二维或三维空间上的点,使用直线或曲线来连接两个相邻的节点。对于有向图来说,带箭头的线表示连接方向。在边两端的节点可以由不同的几何图形来表示,而一些重要的节点或边的属性可以用来设置图形参数值。原创 2023-11-21 13:26:25 · 1829 阅读 · 0 评论 -
R 数据可视化 —— igraph 对象
可以使用两个节点名称之间添加一个竖线组成的字符串来引用连接两个节点的边,如果是无向图,则两个节点的顺序不影响边的引用。最直接的表示图的方法是邻接矩阵,行列与节点对应,如果两个节点之间存在连接,则矩阵中对应位置的值为。由于我们的节点是字符型的,会根据节点添加的顺序自动为节点设置。我们可以将节点和边的元数据(附加信息)作为属性值的方式添加到节点和边的属性中。邻接表是以表的形式来表示图的,只存储每个节点中与其相连的节点。的方式,获取指定节点及这些节点之间的边,构建子图。可以获取和设置属性,例如,获取节点的。原创 2023-11-21 13:25:51 · 664 阅读 · 0 评论 -
R 数据可视化 —— igraph 创建图
接下去的部分,我们要开始介绍层次关系与网络关系图片的绘制。层次关系型图标主要用于表达个体之间的层次关系,通常可以用来展示分类的多级关系,例如层次聚类的树状图、节点连接图、冰柱图、旭日图、圆填充图、矩形树状图等不同于层次关系结构,网络关系结构并不是自底向上或自顶向下的层次结构,展示了不同元素之间的更加自由和复杂的相互关系。如桑葚图、和弦图、弧长链接图、蜂箱图、边绑定图等。在图论中,图是由若干个节点或顶点(node或vertex)和连接两个节点的边(edge。原创 2023-11-21 13:24:52 · 2316 阅读 · 0 评论 -
R 数据可视化 —— 聚类热图 ComplexHeatmap(五)
alter_fun不仅可以传递一个函数列表,还可以传递一个函数,该函数多了一个参数,用于传递一个逻辑值向量,用于标识当前基因在当前样本中是否发生了对应的变异oncoPrint(},col = col设置为单个函数,可以更灵活进行自定义oncoPrint(n = sum(v) # 发生变异的数量if (n)w * 0.9,1 / n * h,设置为三角形填充oncoPrint(mat,# 控制背景的绘制,通常在放在第一个},},),col = col。原创 2023-11-21 13:21:48 · 895 阅读 · 0 评论 -
R 数据可视化 —— 聚类热图 ComplexHeatmap(四)图例
忘了说了,直接使用安装的版本比较老旧,有些功能不支持。比如富文本解析函数gt_render,以及一些参数和图形表现形式的差异。所以为了获取更新的、完善的功能,推荐大家使用devtools安装GitHub上的2.7版本热图和简单注释会自动生成图例,并放置在图像右边区域。而复杂注释默认不会显示图例,但是可以手动构建和添加所有图例都是通过Legend()函数来构造的,不论是单个图例,还是多个图例都属于Legends类热图和注释的图例可以分别在Heatmap()函数的参数和函数的参数中进行设置。原创 2023-11-21 13:19:20 · 1281 阅读 · 0 评论 -
R 数据可视化 —— 聚类热图 ComplexHeatmap(三)热图列表
我们继续介绍,今天要介绍的内容是热图列表。包的一个重要的功能是,能够在水平或竖直方向连接多个热图和注释,以图形化的方式展示各信息之间的关联通常水平方向的连接比较常用,我们介绍的重点也是水平连接,竖直的连接原理基本是一致的。在进行水平连接时,热图和注释的行数要相同例如,我们要绘制三个热图列表,数据如下使用以水平方向连接热图默认情况下,第二幅热图的行树状图会删除,并且其行顺序与第一幅热图一样,同时第一、二幅图的行名也被删除连接操作会返回对象,直接打印ht_list会调用draw函数。原创 2023-11-20 22:17:19 · 955 阅读 · 0 评论 -
R 数据可视化 —— 聚类热图 ComplexHeatmap(二)注释
用于对只有一行或一列的热图提供统计汇总注释如果数据为离散型向量,将绘制条形图Heatmap(对于连续型向量将绘制箱线图Heatmap(我们通常不会单独绘制只包含一列的热图,而是会与其他热图绘制在一起比如,我们在基因表达矩阵的边上,绘制一个lncRNA或MiRNA的表达热图# 设置热图配色# 绘制主热图# 绘制一列离散型热图# 设置离散型颜色),# 绘制一列连续型热图),# 按列添加多个热图中的所有注释函数都是使用类来构造的。原创 2023-11-20 22:16:36 · 3243 阅读 · 0 评论 -
R 数据可视化 —— 聚类热图 ComplexHeatmap(一)
使用pheatmap已经能够绘制满足大多数要求的聚类热图了。受pheatmap包的启发,提供了对热图更多更灵活的控制,如多数据热图的排列比较以及多种图形注释等。下面我们详细介绍包热图主体默认是由不同颜色填充的矩形框组成,我们姑且称之为单元格。我们可以使用cell_fun和layer_fun参数来自定义主体的图形样式cell_fun用于绘制每个单元格,layer_fun是其矢量化的版本,cell_fun使用简单,layer_fun执行速度快,样式多。原创 2023-11-20 22:15:34 · 5071 阅读 · 0 评论 -
R 数据可视化 —— ggplot 图例设置
坐标轴和图例被统称为 guides,通常使用标度函数来控制,如 limits, breaks 和 labels 参数。坐标轴与图例很类似,例如,坐标轴的轴标签与图例的标题都是对应到标度函数的 name 参数,而图例的标识(key label)和轴的刻度标签对应于标度函数的 break 参数除了可以在每个标度函数中分开设置,也可以使用 guides() 函数来进行统一设置,两种设置方式是等价的。例如,下面的设置方式是等价的p3 <- p +再比如,删除某一图例或整合所有图例# 删除图例# 整合图例。原创 2023-11-17 09:49:44 · 2754 阅读 · 0 评论 -
R 数据可视化 —— ggplot 基础介绍
讲完数据处理,就要开始将数据可视化了。在这一部分,我们主要的还是来介绍tidyvese家族的包 ——ggplot2。讲完之后,可能后续还会增加一些其他方面的包,以及基于ggplot2的可视化扩展包。ggplot2数据(必须是数据框)图形属性映射(定义数据变量如何映射到图形属性)几何对象(要绘制什么图,如散点图、直方图等)统计变换(对数据变量进行统计变换后再绘制)位置调整(避免图形重合)一个数据框及数据到图形属性的映射关系一个或多个图层标度,控制数据到图形属性映射坐标系统。原创 2023-11-17 09:41:19 · 714 阅读 · 0 评论 -
R 数据可视化 —— ggplot scale设置
标度(scale)控制着数据映射到图形属性的具体细节,用于将数据转化为我们在视觉上能够感知的东西。如颜色、大小、位置、形状和透明度等。每个标度都有一个对应的函数,用于将数据空间的值(即函数的定义域)映射到图形属性空间(即函数的值域)。通过使用这些函数,就能够将我们的数据与图形属性连接起来。图形中的每种属性都有一个默认的标度函数。在前一节的例子中,我们并没有显示使用这些标度函数,因为在默认情况下,ggplot2会自动添加标度,而无需手动设置。原创 2023-11-17 09:48:16 · 2097 阅读 · 0 评论 -
R 数据可视化 —— ggplot 线条图
包含很多绘制线条的函数:大致可分为如下几类:连接线:折线()、路径线()、阶梯线()参考线:水平线()、竖直线()、斜线()线段和曲线: 、、函数曲线: 、主要有三种连接线:常用参数:绘制一条简单的时间序列折线绘制多条折线翻转线条如果我们更加关注 值的变化情况,可以使用 绘制阶梯图而 可以让你探索两个变量是如何随着时间的推移而发生变化的例如,失业率和个人储蓄率随时间的关系设置箭头更改连接线及端点样式当线条的中间有 值时,则会有一个断点设置线条类型注意:无法同时设置渐变色与线条类型,原创 2023-11-17 10:01:29 · 2648 阅读 · 0 评论 -
R 数据可视化 —— ggplot 误差图和边际线
与轴标签重叠了,将它们放到上面和右边去。同时,记得设置一下边距,不然线条会被遮盖。如果要设置线条的长度,记得同时修改数据区域与轴线的间距,避免与数据点重叠。从上面的图可以看出,许多点映射到坐标轴后是重叠在一起的,我们可以设置。上面这些例子都是竖直方向上的,要绘制水平方向,只要将轴翻转一下即可。能够很容易的观察出数据在某一维度的分布情况。因此,默认情况下边际分布不会和数据重叠。默认情况下,线条长度为整个图形的。,而数据绘制区域距离两端的间隙为。轴的映射,适用于较小的数据集。我们可以添加数据的边际分布。原创 2023-11-17 10:05:54 · 297 阅读 · 0 评论 -
R 数据可视化 —— ggplot 主题
主题系统控制图形中所有非数据元素的显示,如标题、坐标轴标签、图例标签等文本字体的调整,以及网格线、背景、刻度的颜色等。ggplot2采用数据与非数据分离的方式,在绘图时,首先确定数据的展示,然后在通过主题系统对细节进行调整。ggplot2内置了一些主题可供使用,也可以使用theme()函数来更改现有主题的图形元素。原创 2023-11-17 09:51:54 · 969 阅读 · 0 评论 -
R 数据可视化 —— ggplot 直方图与密度图
密度图是直方图的平滑版本,用于计算并绘制数据的核密度估计,能够更好的界定分布的形状。绘制堆积密度图,可能通常并不是想要看密度的堆积形式,而可能更想要看的是数量的堆积形式。适用于比较分类变量的不同水平之间的分布差异。直方图是将单个变量分隔成若干个区间,并对区间内的观测值进行计数。参数的值,所以只要设置其中一个参数就可以了。或者绘制密度曲线,来比较不同水平的分布情况。类似于直方图,我们也可以绘制镜像密度图。参数的值,用于调整带宽,例如。最简单的方式是绘制一条密度曲线。参数的值,该参数值会覆盖。原创 2023-11-17 10:05:22 · 1004 阅读 · 0 评论
分享