R语言如何绘制弦图(25)

1.什么是弦图?

弦图(chord diagram)又称和弦图。可以显示不同实体之间的相互关系和彼此共享的一些共通之处,因此这种图表非常适合用来比较数据集或不同数据组之间的相似性。节点围绕着圆周分布,点与点之间以弧线或贝塞尔曲线彼此连接以显示其中关系,然后给每个连接分配数值(通过每个圆弧的大小比例表示)。此外,也可以用颜色将数据分成不同类别,有助于进行比较和区分。

弦图的特点在于,它有助于我们看出数据之间的关系,适用于比较数据集或不同数据组之间的相似性。连接两个数据点的弧线可以以颜色、弧线与圆的接触面积大小为不同的维度,表达不同的数值。正因为弦图能在表达大量复杂数据的同时,尽可能把这种复杂的关系可视化,所以弦图被广泛应用于各个方面。弦图的缺点是过于混乱,尤其是当要显示太多连接的时候。

image-20220307104201345

本文我们就来讨论一下弦图是如何绘制的。

2.绘图前的数据准备

​ demo数据可以在https://www.bioladder.cn/shiny/zyp/bioladder2/demoData/Chord/data.csv下载。

数据共包含3列。前2列定义从哪到哪的连线关系,第三列是数值定义连线的粗细。

image-20220307104407522

3. R语言怎么画弦图

library(circlize)

# 读取数据
df <- read.delim("https://www.bioladder.cn/shiny/zyp/bioladder2/model/bioladder1/Chord/demoData.txt")

# 绘图
chordDiagram(
  x = df,
  grid.col = hcl.colors(11),                     # 颜色方案,数字向量11要和实际的数据相符
  directional = 1,                               # 箭头方向。选项有1,0,-1
  direction.type = c("arrows", "diffHeight"),    # 线条两端的形状
  diffHeight = -0.02,                            # 线条两端距离边缘的距离差
  annotationTrack = c("name", "grid", "axis"),   # 都绘制哪些内容,name标签;grid边缘形状;axis刻度
  annotationTrackHeight = c(0.05, 0.08),         # 标签距离图形的距离; 环形边缘的宽度
  link.arr.type = "big.arrow",                   # 形状"curved", "triangle", "circle", "ellipse".
  link.sort = TRUE,                              # 内部排序
  link.largest.ontop = TRUE,                     # 控制添加链接的顺序,是否基于绝对值?
  transparency = 0.25                            # 线条透明度
)
# 更多参数?chordDiagram查看

4. BioLadder生信云平台在线绘制弦图

不想写代码?可以用BioLadder生信云平台在线绘制弦图。

网址:https://www.bioladder.cn/web/#/chart/37

image-20220307105954629

  • 2
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值