前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >🤩 Chord diagram | 啧啧啧!~人人必会的Chord diagram你不来学一学吗!?

🤩 Chord diagram | 啧啧啧!~人人必会的Chord diagram你不来学一学吗!?

作者头像
生信漫卷
发布2023-09-04 15:19:09
2370
发布2023-09-04 15:19:09
举报

1写在前面

啊啊啊啊啊!!!!~终于值完夜班休息了。😭

最近是大搞医疗反腐的日子,㊗️各位执法人员成绩满满!~🤒

听说以后医务人员要年薪制了,完全搞不懂这些东西的初衷和理由,感觉自己的🍚里米又要少一些了。🫠

年薪制的同时也希望让我们按时上下班,周末双休,取消夜班,至于米少就少吧。🥳

今天是chord diagram教程,比较基础,希望大家有所收获吧。😏

2用到的包

代码语言:javascript
复制
rm(list = ls())
library(tidyverse)
library(circlize)

3示例一 邻接矩阵绘制显chord diagram

3.1 示例数据

我们先创建一个邻接矩阵adjacency matrix)吧。

代码语言:javascript
复制
numbers <- sample(c(1:1000), 100, replace = T)
data <- matrix( numbers, ncol=5)
rownames(data) <- paste0("orig-", seq(1,20))
colnames(data) <- paste0("dest-", seq(1,5))

head(data)

3.2 可视化

代码语言:javascript
复制
chordDiagram(data, transparency = 0.5)

3.3 补充一下

有的小伙伴搞不清什么是邻接矩阵adjacency matrix),所以这里补充一下吧。😏

邻接矩阵adjacency matrix)是一种用于表示图形的矩阵,其中每个元素表示两个节点之间是否存在边。在邻接矩阵中,行和列分别表示图形中的节点,矩阵的元素表示相应节点之间是否存在边。😋

在无向图中,邻接矩阵是对称的,因为如果有一条从节点i到节点j的边,那么也一定有一条从节点j到节点i的边。在有向图中,邻接矩阵通常不是对称的。🧐

邻接矩阵可以用于表示各种类型的图形,包括无向图、有向图、加权图等。它是一种常用的图形表示方法,可以方便地进行各种图形算法和分析。🥳


4示例二 edge文件绘制显chord diagram

4.1 示例文件

我们也一样先随机生成一下edge文件吧。😜

代码语言:javascript
复制
origin <- paste0("orig ", sample(c(1:10), 20, replace = T))
destination <- paste0("dest ", sample(c(1:10), 20, replace = T))
data <- data.frame(origin, destination)

DT::datatable(data)

4.2 转换为邻接矩阵

哈哈哈哈哈哈哈,接着我们也要转换成邻接矩阵。🥰

这里大家可以巧妙的使用with函数哦,不清楚的看一下help吧。😜

代码语言:javascript
复制
adjacencyData <- with(data, table(origin, destination))
## 这里可以等同为adjacencyData <- table(data$origin, data$destination)😘

adjacencyData

4.3 可视化

代码语言:javascript
复制
chordDiagram(adjacencyData, transparency = 0.5)

4.4 更改配色

这里就只讲一个小的修饰吧,也是大家常用的,比如修改配色。🥰

代码语言:javascript
复制
library(ggsci)
mypal <- pal_aaas(alpha = 0.7)(10)

chordDiagram(data, col = mypal)

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

本文分享自 生信漫卷 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1写在前面
  • 2用到的包
  • 3示例一 邻接矩阵绘制显chord diagram
    • 3.1 示例数据
      • 3.2 可视化
        • 3.3 补充一下
        • 4示例二 edge文件绘制显chord diagram
          • 4.1 示例文件
            • 4.2 转换为邻接矩阵
              • 4.3 可视化
                • 4.4 更改配色
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档