中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

怎樣用R語言ggplot2+ggtree+aplot畫氣泡圖組合聚類樹圖

怎樣用R語言ggplot2+ggtree+aplot畫氣泡圖組合聚類樹圖,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

成都創(chuàng)新互聯(lián)"三網(wǎng)合一"的企業(yè)建站思路。企業(yè)可建設(shè)擁有電腦版、微信版、手機(jī)版的企業(yè)網(wǎng)站。實(shí)現(xiàn)跨屏營銷,產(chǎn)品發(fā)布一步更新,電腦網(wǎng)絡(luò)+移動(dòng)網(wǎng)絡(luò)一網(wǎng)打盡,滿足企業(yè)的營銷需求!成都創(chuàng)新互聯(lián)具備承接各種類型的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)項(xiàng)目的能力。經(jīng)過十余年的努力的開拓,為不同行業(yè)的企事業(yè)單位提供了優(yōu)質(zhì)的服務(wù),并獲得了客戶的一致好評(píng)。

R語言ggplot2畫氣泡圖(dotplot)展示基因表達(dá)量,今天的內(nèi)容介紹如何在氣泡圖和左側(cè)和上方添加聚類樹圖,今天的內(nèi)容主要參考 aplot包:讓你畫出更復(fù)雜的圖

今天重復(fù)的內(nèi)容是論文中的figure2f

怎樣用R語言ggplot2+ggtree+aplot畫氣泡圖組合聚類樹圖  
image.png

按照論文提供的代碼得到了畫圖用到的數(shù)據(jù),部分?jǐn)?shù)據(jù)如下

怎樣用R語言ggplot2+ggtree+aplot畫氣泡圖組合聚類樹圖  
image.png

但是用他提供的畫圖代碼沒有能夠畫出圖來。因?yàn)樗玫搅艘粋€(gè)dot_plot()函數(shù),沒有找到這個(gè)函數(shù)是怎么來的。既然已經(jīng)拿到了數(shù)據(jù),就用ggplot2自己來畫吧

 讀入數(shù)據(jù)做氣泡圖,
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))
 
怎樣用R語言ggplot2+ggtree+aplot畫氣泡圖組合聚類樹圖  
image.png
 

以y軸為變量,做層次聚類,并使用ggtree展示層次聚類結(jié)果

 聚類用到的是平均表達(dá)量那一列
df<-data.final[,c(1,2,4)]
   首先是長格式數(shù)據(jù)轉(zhuǎn)換為寬格式
df1<-reshape2::dcast(df,id~features.plot,value.var = "Average expression")
rownames(df1)<-df1$id
df1.1<-df1[,2:22]
 
怎樣用R語言ggplot2+ggtree+aplot畫氣泡圖組合聚類樹圖  
image.png
 層次聚類,ggtree展示結(jié)果
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)
 
怎樣用R語言ggplot2+ggtree+aplot畫氣泡圖組合聚類樹圖  
image.png
 使用aplot包拼圖
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)
 
怎樣用R語言ggplot2+ggtree+aplot畫氣泡圖組合聚類樹圖  
image.png
 接下來就是在上方疊加聚類樹,一樣的操作
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)
 

這里多了一個(gè)知識(shí)點(diǎn)是ggtree作圖默認(rèn)開口樹的方向是向右,如果需要把開口改成向下,需要加上layout_dendrogram()函數(shù)

最終的結(jié)果如下

怎樣用R語言ggplot2+ggtree+aplot畫氣泡圖組合聚類樹圖  
image.png

這里和論文中的圖有些不一致,可能是聚類算法的原因;ggtree有一個(gè)默認(rèn)的從上到下排序,比如左側(cè)的樹現(xiàn)在第一個(gè)是H6,第二個(gè)是H5,如果想把H5放到第一個(gè)也是可以實(shí)現(xiàn)的,可以參考之前的推文 R語言ggtree按照指定的節(jié)點(diǎn)旋轉(zhuǎn)樹。

關(guān)于怎樣用R語言ggplot2+ggtree+aplot畫氣泡圖組合聚類樹圖問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

本文標(biāo)題:怎樣用R語言ggplot2+ggtree+aplot畫氣泡圖組合聚類樹圖
分享鏈接:http://www.rwnh.cn/article44/igpcee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管關(guān)鍵詞優(yōu)化、網(wǎng)站內(nèi)鏈、App設(shè)計(jì)、網(wǎng)站導(dǎo)航、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
措勤县| 莆田市| 新泰市| 永春县| 太仓市| 柯坪县| 彩票| 文昌市| 册亨县| 双峰县| 合川市| 亚东县| 阜阳市| 治多县| 富源县| 乌兰县| 冕宁县| 自治县| 遂宁市| 泰兴市| 扎兰屯市| 岳池县| 鹤庆县| 宁津县| 灵宝市| 且末县| 恭城| 和田县| 灌云县| 修水县| 新巴尔虎左旗| 泽库县| 科技| 高淳县| 阿巴嘎旗| 改则县| 万山特区| 彰化市| 泽库县| 安达市| 公主岭市|