怎样用R语言ggplot2+ggtree+aplot画气泡图组合聚类树图
发表于:2025-12-06 作者:千家信息网编辑
千家信息网最后更新 2025年12月06日,怎样用R语言ggplot2+ggtree+aplot画气泡图组合聚类树图,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。R语言ggpl
千家信息网最后更新 2025年12月06日怎样用R语言ggplot2+ggtree+aplot画气泡图组合聚类树图
image.png 
image.png image.png image.png 层次聚类,ggtree展示结果image.png 使用aplot包拼图image.png 接下来就是在上方叠加聚类树,一样的操作image.png
怎样用R语言ggplot2+ggtree+aplot画气泡图组合聚类树图,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
R语言ggplot2画气泡图(dotplot)展示基因表达量,今天的内容介绍如何在气泡图和左侧和上方添加聚类树图,今天的内容主要参考 aplot包:让你画出更复杂的图
今天重复的内容是论文中的figure2f

按照论文提供的代码得到了画图用到的数据,部分数据如下

读入数据做气泡图,但是用他提供的画图代码没有能够画出图来。因为他用到了一个
dot_plot()函数,没有找到这个函数是怎么来的。既然已经拿到了数据,就用ggplot2自己来画吧
data.final<-read.csv("NM/figure2f.csv",header=T,check.names=F)
head(data.final)
library(ggplot2)
ggplot(data.final,aes(x=features.plot,y=id))+
geom_point(aes(size=`Percent expressed`,
color=`Average expression`))+
theme_bw()+
theme(panel.grid = element_blank(),
axis.text.x=element_text(angle=90,hjust = 1,vjust=0.5))+
scale_color_gradient(low="lightgrey",high="blue")+
labs(x=NULL,y=NULL)+
guides(size=guide_legend(order=3))
以y轴为变量,做层次聚类,并使用ggtree展示层次聚类结果
聚类用到的是平均表达量那一列df<-data.final[,c(1,2,4)]
首先是长格式数据转换为宽格式df1<-reshape2::dcast(df,id~features.plot,value.var = "Average expression")
rownames(df1)<-df1$id
df1.1<-df1[,2:22]
df1.1.clust<-hclust(dist(df1.1))
df2.1.clust<-hclust(dist(df2.1))
library(ggtree)
p2<-ggtree(df1.1.clust)
p2+
geom_tiplab()+
xlim(NA,7)
library(ggplot2)
p1<-ggplot(data.final,aes(x=features.plot,y=id))+
geom_point(aes(size=`Percent expressed`,
color=`Average expression`))+
theme_bw()+
theme(panel.grid = element_blank(),
axis.text.x=element_text(angle=90,hjust = 1,vjust=0.5))+
scale_color_gradient(low="lightgrey",high="blue")+
labs(x=NULL,y=NULL)+
guides(size=guide_legend(order=3))
library(aplot)
p1%>%
insert_left(p2,width = 0.2)
df2<-reshape2::dcast(df,features.plot~id,value.var = "Average expression")
rownames(df2)<-df2$features.plot
df2.1<-df2[,2:15]
df2.1.clust<-hclust(dist(df2.1))
p3<-ggtree(df2.1.clust)+
#geom_tiplab(angle=90)+
#theme_tree2()+
layout_dendrogram()
p3
p1%>%
insert_left(p2,width = 0.2)%>%
insert_top(p3,height = 0.2)
这里多了一个知识点是ggtree作图默认开口树的方向是向右,如果需要把开口改成向下,需要加上layout_dendrogram()函数
最终的结果如下
这里和论文中的图有些不一致,可能是聚类算法的原因;ggtree有一个默认的从上到下排序,比如左侧的树现在第一个是H6,第二个是H5,如果想把H5放到第一个也是可以实现的,可以参考之前的推文 R语言ggtree按照指定的节点旋转树。
关于怎样用R语言ggplot2+ggtree+aplot画气泡图组合聚类树图问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
气泡
数据
语言
内容
函数
层次
结果
论文
问题
组合
代码
更多
格式
知识
参考
帮助
解答
复杂
易行
一致
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
河北服务器续保费用
全国扫黑办 网络安全
互联网的发展以及网络安全
数据库提示数据移动无法继续
数据库学期总结
网络技术开发的切入点
软件开发的流程是A
开服务器pe
科技互联网界的逗比大叔
七彩云安网络安全吗
嵌入式web服务器开发书籍
老式的软件开发的工具
金融网络安全百问百答
网络安全保密风险身边
联通网络异常无法连接服务器
河南湖谷网络技术有限公司
小学网络安全管理机制包括哪些
所查表不在当前数据库
数据库信息技术面试题
公司服务器上打开文件有记录吗
网络安全主要解决的问题包括
服务器旁边的网状线压了有事吗
dmp导入数据库方法
宁夏网络技术有限公司官网
数据库外部关键字例子
sh-key服务器
普陀区生态网络技术产业
微信数据库修复是怎么回事
软件开发文档表格模板
软件开发文档阶段代码