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

2024-01-02 08:40

本文主要是介绍Chord diagram | 啧啧啧!~人人必会的Chord diagram你不来学一学吗!?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1写在前面

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

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

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

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

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

2用到的包

rm(list = ls())
library(tidyverse)
library(circlize)

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

3.1 示例数据

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

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)
alt

3.2 可视化

chordDiagram(data, transparency = 0.5)
alt

3.3 补充一下

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

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

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

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


alt

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

4.1 示例文件

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

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)
alt

4.2 转换为邻接矩阵

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

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

adjacencyData <- with(data, table(origin, destination))
## 这里可以等同为adjacencyData <- table(data$origin, data$destination)😘

adjacencyData
alt

4.3 可视化

chordDiagram(adjacencyData, transparency = 0.5)
alt

4.4 更改配色

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

library(ggsci)
mypal <- pal_aaas(alpha = 0.7)(10)

chordDiagram(data, col = mypal)
alt

alt
最后祝大家早日不卷!~

点个在看吧各位~ ✐.ɴɪᴄᴇ ᴅᴀʏ 〰

📍 往期精彩

📍 🤣 chatPDF | 别再自己读文献了!让chatGPT来帮你读吧!~
📍 🤩 WGCNA | 值得你深入学习的生信分析方法!~
📍 🤩 ComplexHeatmap | 颜狗写的高颜值热图代码!
📍 🤥 ComplexHeatmap | 你的热图注释还挤在一起看不清吗!?
📍 🤨 Google | 谷歌翻译崩了我们怎么办!?(附完美解决方案)
📍 🤩 scRNA-seq | 吐血整理的单细胞入门教程
📍 🤣 NetworkD3 | 让我们一起画个动态的桑基图吧~
📍 🤩 RColorBrewer | 再多的配色也能轻松搞定!~
📍 🧐 rms | 批量完成你的线性回归
📍 🤩 CMplot | 完美复刻Nature上的曼哈顿图
📍 🤠 Network | 高颜值动态网络可视化工具
📍 🤗 boxjitter | 完美复刻Nature上的高颜值统计图
📍 🤫 linkET | 完美解决ggcor安装失败方案(附教程)
📍 ......

本文由 mdnice 多平台发布

这篇关于Chord diagram | 啧啧啧!~人人必会的Chord diagram你不来学一学吗!?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/561922

相关文章

SQL必知必会51题

※食用指南:文章内容为牛客网《SQL必知必会》51道题重点笔记,用于重复思考错题,加深印象。 本文章涉及题目也是《SQL必知必会》书中“挑战题”,题目及答案:《SQL必知必会》随书习题答案 练习传送门:SQL必知必会51题 目录: SQL72 检索并列出已订购产品的清单 SQL78 检索产品名称和描述(四) SQL81 顾客登录名 SQL86 返回每个订单号各有多少行数 SQL

Python 初学入门必会基础知识

引言 Python 是一种易学易用的编程语言,适用于各种应用场景,包括网站开发、数据分析、人工智能等。对于零基础的学习者来说,掌握 Python 编程语言是一个很好的起点。本文将详细介绍零基础学习 Python 所需的知识点,帮助初学者快速入门。 CSDN大礼包:《2024年最新全套学习资料包》免费分享 1.首先需要安装Python 学习 Python 的第一步是安装 Python

Java必知必会---队列BlockingQueue家族

Java必知必会---队列BlockingQueue家族 IT小鳄鱼  2017-12-04 19:21:35 Java必知必会---队列BlockingQueue家族   队列是我们在开发中经常会使用到的一种数据结构,并且在多线程资源共享与数据协调的场景中,队列也是我们最喜欢的选择之一,尤其是在生产者与消费者模型中。下面我们就介绍一下在java中常用的BlockingQueue家

29个阿里架构师必会的核心实战知识点整理清单

29个阿里架构师必会的核心实战知识点整理清单 Java高级架构n 2019-06-24 09:00:00 由于每篇的细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有各种细化讲解内容! JVM JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、 一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没

Python自动化必会技能-Excel文件读取

01 重点 在自动化测试过程中,经常需要使用excel文件来存储测试用例,那么在表格内设计好了测试用例数据后,如何通过自动化读取呢?此时就需要测试小姐姐动手写“代码”了~ 本文主要介绍通过python来读取表格数据。Python读取表格的方式大概有三种(如下图介绍),本文侧重点使用xlrd模块来读取excel数据。 读取excel文件,主要掌握以下几个结果内容: 打开文件读取工作表遍历

2024测试开发必知必会:Pytest框架实战!

应用场景: pytest 框架可以解决我们多个测试脚本一起执行的问题。 它提供了测试用例的详细失败信息,使得开发者可以快速准确地改正问题。它兼容最新版本的 Python。它还兼容 unittest、doctest 和 nose,开箱即用。接下来我们详细了解下pytest框架。 01、安装和介绍 概念: pytest 是 python 的一种单元测试框架,同自带的 Unittest 测试框

MySQL必会知识精华5(WHERE简单子句)

我们的目标是:按照这一套资料学习下来,大家可以完成数据库增删改查的实际操作。同时轻松应对面试或者笔试题中MySQL相关题目。     上篇文章我们先做一下数据库的SELECT简单查询的方法。本篇文章主要介绍查询的WHERE子句的使用方法。 1、使用WHERE简单子句 数据库有很多数据,很多时候我们只是需要一部分,这时候就牵涉到筛选的功能。 可以使用WHERE 子句 SELECT

MySQL必会知识精华4(查询数据-SELECT)

我们的目标是:按照这一套资料学习下来,大家可以完成数据库增删改查的实际操作。轻松应对面试或者笔试题中MySQL相关题目     上篇文章我们先做一下数据库的基础知识以及MySQL数据库的连接,以及查看库和库中列表的信息。本篇文章主要介绍查询的方法。 1、SELECT语句 我们用SELECT关键字来检索表数据,也就是进行查询; 使用SELECT 语句来查询,至少要写明两个

人人都会爱上的高效神器

如果你还在使用 Word 写文章做笔记,利用它的富文本编辑器满足样式需求,那么你该考虑换一种方式,投入到 Markdown 的怀抱中了。 什么是 Markdown 呢?喜欢码字的朋友,常常因为文字的排版而不能专注于文字的写作。而 Markdown 作为一种轻量级的标记语言,通过简单的标记使普通的文本具有一定文本格式,来实现对文本的编辑和排版。 使用 Markdown 有什么好处呢? 1. 码字

MySQL必会知识精华3(使用MySQL)

我们的目标是:按照这一套资料学习下来,大家可以完成数据库增删改查的实际操作。轻松应对面试或者笔试题中MySQL相关题目     上篇文章我们先做一下数据库的基础知识以及MySQL的简单介绍。本篇文章主要连接使用MySQL的相关知识。相对简单,争取做到温故而知新。 1、MySQL的连接 MySQL与所有客户机-服务器DBMS一样,要求在能执行命令之前登录到DBMS。 像我们之