在r语言当中dpylr包_如何使用R语言circlize包绘制漂亮圈图(一)

本文介绍了如何使用R语言的circlize包来绘制圈图,包括circlize包的安装、绘图规则、常用函数以及如何高亮扇区和轨道。通过示例展示了创建不同轨道并添加点、线、条形图和热图的过程,帮助理解circlize包在绘制复杂数据可视化图形中的应用。
摘要由CSDN通过智能技术生成
7c1bbb7c375e46b402ae0d7fe7ed4b06.gif

?点击上方蓝字把我们设为星标吧✴

圈图对于展示复杂的数据信息非常有用,它既可以展示不同类别的数据信息,还可以直观地展示聚焦于同一对象的多个轨迹上的数据变化,它还能够展示多个元素之间的关系。

目前大家比较熟知的是使用circos(http://circos.ca/)来进行绘图,但由于circos是基于Perl语言来进行绘图的,如果对Perl不够熟悉,小伙伴们在学习和使用时依然有些费神。如今在R中的circlize包也能实现圈图绘制功能,甚至可能更为强大和便捷。下面我们一起来了解一下吧~

circlize包是由德国癌症中心的华人博士Zuguang Gu开发的。

有兴趣的可以去看看他的Github主页

  • https://github.com/jokergoo

circlize包的学习文档

  • https://jokergoo.github.io/circlize_book/book/

主要分为三个部分

  • 第一部分主要介绍绘制圈图的基本原理与通用函数;

  • 第二部分主要介绍针对基因组数据如何绘制圈图;

  • 第三部分主要介绍如何绘制和弦图。

今天,先为大家介绍第一部分的学习内容。

922e39b2f6b675e3f1e67a72e5ca0262.gif

1. circlize包安装

首先,安装circlize包,请使用以下命令:

install.packages("circlize") 
或者 
devtools::install_github("jokergoo/circlize")

9b8f3ca39f30508507488aa1deba2d21.gif

2. circlize包绘图规则

2.1 坐标系的转换

绘制圈图首先要进行坐标系转换,circlize首先将数据坐标从数据坐标系转换为极坐标系,最后转换为画布坐标系(如下图)。实际上,最终的画布坐标是基本R图形系统中的普通坐标,默认情况下x范围为(-1,1),y范围为(-1,1)。需要注意的是,圈图总是在半径为1的圆内绘制(这意味着它总是一个单位圆),并且是从外到内。

0c740b3ac1603192ffd734e901d927f8.png

图2.1 | 不同坐标系之间的转换

2.2 绘图规则

绘制圈图一般遵循如下步骤:初始化图形(initialize)——添加轨道(create track)——添加图形(add graphics)——添加轨道——添加图形……——重置(circos.clear)

1)初始化图形

一般使用函数circos.initialize 进行初始化,所需数据必须包括因子变量和X值。

2)创建轨道

使用函数circos.trackPlotRegion创建轨道(可简写为circos.track)。

3)添加图形

在新创建的轨道上添加图形一般有三种方法:

  • 使用circos.points, circos.lines等低级绘图参数

  • 使用circis.trackPoints, circos.trackLines等进行绘图

  • 在circos.trackPlotRegion中使用panel.fun函数

4)重置

使用函数circos.clear进行重置。应该始终在每个圈图的结尾处调用circos.clear()。圈图有几个参数,只能在circos.initialize()之前设置,因此,在绘制下一个圈图之前,需要重置这些参数。

ebd200c20aefa7feb1fcbb3938583700.png

图2.2 | 绘制圈图的步骤

2.3 扇区和轨道

圈图由扇区和轨道组成。红色圆圈是一条轨道,蓝色代表一个扇区。扇区和轨道的交点称为单元格,单元格是圈图中的基本单位,可以将其视为数据的绘图区域。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值