欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

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

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

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

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

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

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

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

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

但是用他提供的畫圖代碼沒有能夠畫出圖來。因為他用到了一個dot_plot()函數(shù),沒有找到這個函數(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展示層次聚類結果

 聚類用到的是平均表達量那一列
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展示結果
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)
 

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

最終的結果如下

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

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

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

本文標題:怎樣用R語言ggplot2+ggtree+aplot畫氣泡圖組合聚類樹圖
分享鏈接:http://www.chinadenli.net/article44/igpcee.html

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

廣告

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

微信小程序開發(fā)