R语言图形绘制 | 桑基图绘制教程

原文链接:R语言绘制桑基图教程

写在前面

在昨天3月10日,我们在知乎B站等分享了功能富集桑基气泡图的绘制教程。相关链接:NC|高颜值功能富集桑基气泡图桑基气泡组合图

确实,目前这个图在文章中出现的频率相对比较少,但是可能随着的代码的开放,此图会别大家玩出新花样,功能富集图可能会有不同的可视化方式,若你有好的想法,也可以在自己想到后进行实现,你可能成为此图的开山鼻祖

做生物信息的,对图形的要求是比较高的,因此,需要不断的创新,不断的调整,不断的失败,更重要的是需要不断的思考

因此,我们每天学习一点点,也就是一种进步;每天整理一下笔记,也算是一种总结

本期教程图形

绘制

  1. 导入所需的R包

    library(tidyverse)

    devtools::install_github("davidsjoberg/ggsankey")

    library(ggsankey)
    library(ggplot2)
    #install.packages("cols4all")
    library(cols4all)
    #BiocManager::install("dittoSeq")
    library(dittoSeq)

  2. 导入数据

    setwd("E:\小杜的生信筆記\2024\20240311_桑基图绘制教程")

    df <- read.csv("01_inputdata.csv",header = T)
    head(df)

    head(df)
    Pathway geneID Freq
    Flavonoid biosynthesis pmb0751 1
    Flavonoid biosynthesis pmp000571 1
    Flavonoid biosynthesis mws0914 1
    Flavonoid biosynthesis pme2960 1
    Flavonoid biosynthesis pme1201 1
    Flavonoid biosynthesis mws1068 1

  3. 转化格式

    df2 <- df %>% make_long(Pathway, geneID)

    ##'@指定绘图显示顺序
    df2node <- factor(df2node, levels = c(rev(unique(dfgeneID)), rev(unique(dfPathway))))

    head(df2)

    A tibble: 6 × 4

    x node next_x next_node

    1 Pathway Flavonoid biosynthesis geneID pmb0751
    2 geneID pmb0751 NA NA
    3 Pathway Flavonoid biosynthesis geneID pmp000571
    4 geneID pmp000571 NA NA
    5 Pathway Flavonoid biosynthesis geneID mws0914
    6 geneID mws0914 NA NA

绘制基础图形

代码一

复制代码
mycol3 <- sample(mycol3, length(mycol3)) 

##'@代码一
ggplot(df2, aes(x = x, next_x = next_x, node = node, next_node = next_node,
               fill = node, label = node)) +
  scale_fill_manual(values = mycol3)+
  
  geom_sankey(flow.alpha = 0.5, #条带不透明度
                  smooth = 7, #条带弯曲度
                  width = 0.18) + #节点宽度
  geom_sankey_text(size = 3.2, color = 'black') +
  theme_void() +
  theme(legend.position = 'none') #隐藏图例

ggsave("桑基图.jpg",width = 6, height = 4)

代码二

复制代码
ggplot(df2, aes(x = x, next_x = next_x, node = node, next_node = next_node,
                fill = node, label = node)) +
  #设置
  geom_sankey(flow.fill="#DFDFDF",#连线颜色
              flow.alpha = 0.5, ## 条带透明度
              flow.color="grey60",#连线边框颜色
              #node.fill=dittoColors()[1:36],#节点颜色,[1:36]数值需要根据自己的数据进行修改
              width=0.2) + #node的宽度
  #设置桑葚图文字
  geom_sankey_text(size = 3,#文字大小
                   color= "black",#文字颜色
                   hjust=1) + #文字位置,右对齐
  theme_void()+
  #隐藏图例
  theme(legend.position = 'none') 

ggsave("桑基图02.jpg",width = 6, height = 4)

注意: #node.fill=dittoColors()[1:36],#节点颜色,[1:36]数值需要根据自己的数据进行修改,如下图所示。

参考:

https://mp.weixin.qq.com/s/Wv90W3In7vzhnRjCYZXs7A


若我们的分享对你有用,希望您可以点赞+收藏+转发,这是对小杜最大的支持。

往期文章:

1. 复现SCI文章系列专栏

2. 《生信知识库订阅须知》,同步更新,易于搜索与管理。

3. 最全WGCNA教程(替换数据即可出全部结果与图形)


4. 精美图形绘制教程

5. 转录组分析教程

转录组上游分析教程零基础

一个转录组上游分析流程 | Hisat2-Stringtie

小杜的生信筆記,主要发表或收录生物信息学的教程,以及基于R的分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!!

相关推荐
统计学小王子2 天前
分类模型评价指标——R语言(数学建模常用)
数学建模·分类·r语言
Bioinfo Guy2 天前
高分Panel复现系列|转录因子网络太乱?用模块框把重点圈出来
数据库·生物信息学·生信可视化
Biotree_20252 天前
Cell Death Dis.(IF=12.2)|厦门大学徐兵教授团队解锁滤泡性淋巴瘤治疗新策略:PI3Kδ与PPARα双靶向重塑代谢激活FoxO1
r语言
深兰科技2 天前
深兰科技亮相天津医疗器械创新生态大会,DeepAgent智能体赋能医疗医美并签约天津OPC项目
人工智能·科技·r语言·symfony·视觉大模型·深兰科技·deepagent智能体
易基因科技3 天前
易基因:Cell Commun Signal/IF11.6:中国多家科研单位联合开发MEE表观遗传编辑器实现线粒体DNA甲基化精准调控 助力衰老机制研究
生物信息学·科研服务·表观遗传标志物筛选·全基因组甲基化
生态学者3 天前
Journal of Applied Ecology | 华南植物园王法明研究员团队揭示加纳红树林蓝碳储量及其环境调控机制
大数据·r语言·微信公众平台
独行侠影a5 天前
用ggplot2画出“能发论文”的统计图:R语言可视化的底层逻辑与高阶技巧
r语言
小洁忘了怎么分身6 天前
多样本空间转录组 Harmony 整合与标签转移指南
网络·r语言·生信分析
临床数据科学和人工智能兴趣组6 天前
在R语言中,数据存储和读取是数据分析工作的重要环节
r语言·r语言-4.2.1
HyperAI超神经7 天前
在线教程|ProteinGym 第一名!VenusREM 用「检索增强」预测蛋白突变影响,加速蛋白质设计
人工智能·深度学习·生物信息学·大模型推理·生物医学