MicrobiomeStatPlot | 矩形树图教程Block Treemap tutorial

矩形树图简介
矩形树图由一组矩形组成,这些矩形代表数据中的不同类别,其大小由与各自类别相关的数值定义。例如,一幅树状地图可以显示地球上的大陆,根据它们的人口大小。为了进行更深入的分析,树图可以包括嵌套的矩形,即类别中的类别。在我们的示例中,在每个大陆矩形中,新的矩形可以代表国家及其人口。树状图(treemap)将分层数据显示为一组嵌套矩形。每组由一个矩形表示,该矩形的面积与其数值值成正比。树状图的主要优点之一是,它允许用一张简明的图解释大量的数据。它非常适合显示部分到整体的关系,并突出显示数据中的层次结构。当定义矩形大小的变量变化不大时,不要使用树图。
参考:https://mp.weixin.qq.com/s/cLvQ-fr5l5qDJFoVPZzxAw
标签:#微生物组数据分析 #MicrobiomeStatPlot #矩形树图 #R语言可视化 #Block Treemap
作者:First draft(初稿):Defeng Bai(白德凤);Proofreading(校对):Ma Chuang(马闯) and Jiani Xun(荀佳妮);Text tutorial(文字教程):Defeng Bai(白德凤)
源代码及测试数据链接:
https://github.com/YongxinLiu/MicrobiomeStatPlot/项目中目录 3.Visualization_and_interpretation/BlockTreeMap
或公众号后台回复“MicrobiomeStatPlot”领取
矩形树图应用案例
这是D. Sean Froese团队2023年发表于Nature Metabolism上的一篇论文用到的图。论文题目为:Integrated multi-omics reveals anapleroticrewiring in methylmalonyl-CoA mutasedeficiency. https://doi.org/10.1038/s42255-022-00720-8

图 1i | 整个队列中发现的受影响基因的比例。
结果
研究发现 210 名(84%)受影响个体中有 177 名得到诊断(图 1i),其中 150 名患有 MMUT 缺陷,19 名患有 ACSF3 损伤性变异,占 ACSF3 缺陷的最大群体。
矩形树图R语言实战
源代码及测试数据链接:
https://github.com/YongxinLiu/MicrobiomeStatPlot/
或公众号后台回复“MicrobiomeStatPlot”领取
软件包安装
# 基于CRAN安装R包,检测没有则安装
p_list = c("treemapify", "ggplot2")
for(p in p_list){if (!requireNamespace(p)){install.packages(p)}
library(p, character.only = TRUE, quietly = TRUE, warn.conflicts = FALSE)}
# 加载R包 Load the package
suppressWarnings(suppressMessages(library(treemapify)))
suppressWarnings(suppressMessages(library(ggplot2)))
实战1
参考:
https://mp.weixin.qq.com/s/1sfaLZ4s50QHVid_HX8L0A https://mp.weixin.qq.com/s/nf6KNedDIWj1uRWyaPz4pw
# 使用treemapify自带的数据G20绘图Use treemapify package data G20
# 绘制矩形树图,优化色彩和整体布局
# Draw a Block Treemap, optimize the color and overall layout
p1 <- ggplot(G20, aes(area = gdp_mil_usd, fill = hdi)) +
geom_treemap(start = "bottomright") + # 改变起点,确保图形均匀分布
scale_fill_gradientn(colours = c("#003366", "#FFFFFF", "#FF4500")) + # 使用更具对比度的颜色
theme_void() # 移除背景和网格,保证图形简洁
# 添加标签Add labels
p2 <- ggplot(G20, aes(area = gdp_mil_usd, fill = hdi, label = country)) +
geom_treemap(start = "bottomright") +
geom_treemap_text(fontface = "bold", colour = "#333333",
size = 14, place = "centre",
padding.x = grid::unit(2, "mm"),
padding.y = grid::unit(1.5, "mm")) +
scale_fill_gradientn(colours = c("#003366", "#FFFFFF", "#FF4500")) +
theme_minimal() # 使用简洁的主题样式
# 优化分组显示,添加更多区分度
# Optimize group display and add more differentiation
p3 <- ggplot(G20, aes(area = gdp_mil_usd, fill = hdi,
label = country, subgroup = region)) +
geom_treemap(start = "bottomright") +
geom_treemap_subgroup_border(colour = "#000000", size = 0.7) +
geom_treemap_subgroup_text(place = "centre", colour = "#555555",
fontface = "italic", size = 10,
alpha = 0.7) + # 标签半透明,避免喧宾夺主
geom_treemap_text(colour = "#FFFFFF", place = "topleft", reflow = TRUE) +
scale_fill_gradientn(colours = c("#003366", "#FFFFFF", "#FF4500")) +
theme_void()
# 保存矩形树状图
# Save plot
ggsave("results/optimized_treemap.pdf", p3, width = 10, height = 8, device = "pdf")

实战2
此处参考Yunyun Gao, Danyi Li, Yong-Xin Liu, Microbiome research outlook: past, present, and future, Protein & Cell, 2023, pwad031,https://doi.org/10.1093/procel/pwad031. 绘制矩形树图用到数据和代码来自于该文献。
# Load data
# 载入数据
mydata<- read.table("data/Figure1BTreeMap.txt", header = T, sep='\t')
# Define the desired order of legends
# 定义所需的图例顺序
legend_order <- c("North America", "Europe", "Asia", "Oceania", "South America", "Africa", "Others")
# Plotting TreeMap Graph
# 绘制 TreeMap 图
p4 <- ggplot(mydata, aes(area = NumberOfPublication, fill = Regions,
label = paste0(Places, "\n", NumberOfPublication), subgroup = Regions)) +
geom_treemap(layout = "squarified") +
geom_treemap_text(place = "centre", size = 12, family = "sans", min.size = 12, alpha = 0.5, colour = 'black') +
geom_treemap_subgroup_border(colour = "white", size = 3)+
scale_fill_manual(values = c("#8dd3c7", "#ffffb3", "#fb8072", "#bebada", "#80b1d3", "#fdb462", "#b3de69"),
breaks = legend_order) +
labs(fill = "Regions") +
theme(legend.position = "bottom",
legend.text = element_text(size = 16),
legend.title = element_text(size = 16),
legend.key.height = unit(0.5, "cm"),
legend.key.width = unit(0.5, "cm"),
legend.direction = "horizontal",
legend.box = "horizontal",
legend.box.just = "center",
legend.box.spacing = unit(0.2, "cm"),
legend.margin = margin(t = 0, r = 0, b = 0, l = 0))
# 保存矩形树状图
# Save plot
ggsave("results/optimized_treemap2.pdf", p4, width = 10, height = 8, device = "pdf")

使用此脚本,请引用下文:
Yong-Xin Liu, Lei Chen, Tengfei Ma, Xiaofang Li, Maosheng Zheng, Xin Zhou, Liang Chen, Xubo Qian, Jiao Xi, Hongye Lu, Huiluo Cao, Xiaoya Ma, Bian Bian, Pengfan Zhang, Jiqiu Wu, Ren-You Gan, Baolei Jia, Linyang Sun, Zhicheng Ju, Yunyun Gao, Tao Wen, Tong Chen. 2023. EasyAmplicon: An easy-to-use, open-source, reproducible, and community-based pipeline for amplicon data analysis in microbiome research. iMeta 2: e83. https://doi.org/10.1002/imt2.83
Yunyun Gao, Danyi Li, Yong-Xin Liu, Microbiome research outlook: past, present, and future, Protein & Cell, 2023, pwad031, https://doi.org/10.1093/procel/pwad031.
Copyright 2016-2024 Defeng Bai baidefeng@caas.cn, Chuang Ma 22720765@stu.ahau.edu.cn, Jiani Xun 15231572937@163.com, Yong-Xin Liu liuyongxin@caas.cn
宏基因组推荐
本公众号现全面开放投稿,希望文章作者讲出自己的科研故事,分享论文的精华与亮点。投稿请联系小编(微信号:yongxinliu 或 meta-genomics)
猜你喜欢
iMeta高引文章 fastp 复杂热图 ggtree 绘图imageGP 网络iNAP
iMeta网页工具 代谢组MetOrigin 美吉云乳酸化预测DeepKla
iMeta综述 肠菌菌群 植物菌群 口腔菌群 蛋白质结构预测
10000+:菌群分析 宝宝与猫狗 梅毒狂想曲 提DNA发Nature
一文读懂:宏基因组 寄生虫益处 进化树 必备技能:提问 搜索 Endnote
16S功能预测 PICRUSt FAPROTAX Bugbase Tax4Fun
生物科普: 肠道细菌 人体上的生命 生命大跃进 细胞暗战 人体奥秘
写在后面
为鼓励读者交流快速解决科研困难,我们建立了“宏基因组”讨论群,己有国内外6000+ 科研人员加入。请添加主编微信meta-genomics带你入群,务必备注“姓名-单位-研究方向-职称/年级”。高级职称请注明身份,另有海内外微生物PI群供大佬合作交流。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍未解决群内讨论,问题不私聊,帮助同行。
点击阅读原文
更多推荐



所有评论(0)