[nmicrobiol图表复现] ggtree绘制离散型环状热图
2023-02-18 16:35:33 时间
❝本节来复现「nmicrobiol」上的一张图,此图有些小细节因此适用于「ggtree」绘制不需要其它扩展包;下面小编就通过一个详细的案例介绍如何绘制此图;
参考文档
❝https://yulab-smu.top/treedata-book/chapter7.html ❞
加载R包
library(tidyverse)
library(ggtree)
library(ggtreeExtra)
library(ggnewscale)
读入树文件
tree <- read.tree("RAxML_bipartitions.allUK_1000.nwk")
绘制进化树
cir <- ggtree(tree, layout="circular")+
geom_tiplab(size=2,align=T,linesize=0,color="black",offset =0.4)
导入热图数据
热图中包含进化树名称,因此只需要将其转换为行名即可
df <- read_csv("metadata.csv") %>%
column_to_rownames(var="label")
绘制heatmap
此处使用「color=NULL」来取消热图边框颜色,offset设置热图与进化树直接的距离
p1 <- gheatmap(cir,df %>% select(1),offset=0.6,width=.1,
colnames_offset_y=0,colnames = F,color=NULL)+
scale_fill_manual(values=c("#440154","#3b528b"))+
new_scale_fill()
绘制外圈
gheatmap(p1,df %>% select(2),offset=0.696,width=.1,
colnames_offset_y=0,colnames = F,color=NULL)+
scale_fill_manual(values=c("#21918c","#5ec962","#fde725"))+
theme(legend.title = element_blank(),
legend.text=element_text(color="black"),
legend.background = element_blank(),
legend.key = element_blank(),
legend.spacing.x = unit(0.1,'cm'),
legend.key.width=unit(0.4,'cm'),
legend.key.height=unit(0.4,'cm'))
相关文章
- 【架构师(第四十二篇)】 服务端开发之常用的登录鉴权方式
- 【架构师(第四十三篇)】 服务端开发之单元测试和接口测试
- 【架构师(第四十四篇)】 服务端开发之 pm2 和 nginx 介绍
- 【架构师(第四十六篇)】 服务端开发之安装 Docker
- 【架构师(第四十七篇)】 服务端开发之认识 Docker
- 【架构师(第四十八篇)】 服务端开发之 Dockerfile
- 【架构师(第四十九篇)】 服务端开发之认识 Docker-compose
- 【架构师(第五十篇)】 服务端开发之自动发布到测试机
- 【架构师(第五十一篇)】 服务端开发之技术方案设计
- 【架构师(第五十二篇)】 几个前端工具的基本使用
- 【架构师(第五十三篇)】 性能优化之 HTTP 缓存
- 【前端财富】前端工程师装机指南 (windows10)
- 最近很火的ChatGPT怎么玩?
- 小巧好用的免费虚拟机软件
- [ChatGPT解决方案]生成 nginx 自签名证书
- 完美解决文件格式转换问题
- MariaDB在Oscar故障演练平台的测试实践
- 压缩列表的源码实现
- Docker命令三板斧
- 一文教你快速注册OpenAi(ChatGPT),国内也可以!