亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-11-22 15:54:21 來源:億速云 閱讀:1196 作者:柒染 欄目:大數據

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

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

今天重復的內容是論文中的figure2f

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

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

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

但是用他提供的畫圖代碼沒有能夠畫出圖來。因為他用到了一個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))
 
怎樣用R語言ggplot2+ggtree+aplot畫氣泡圖組合聚類樹圖  
image.png
 

以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]
 
怎樣用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()函數

最終的結果如下

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

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

關于怎樣用R語言ggplot2+ggtree+aplot畫氣泡圖組合聚類樹圖問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

菏泽市| 黄冈市| 江阴市| 泌阳县| 信丰县| 若羌县| 晋城| 平顶山市| 石台县| 博白县| 石嘴山市| 昆山市| 洛阳市| 仁怀市| 铜山县| 安庆市| 监利县| 荆门市| 乐至县| 龙陵县| 沐川县| 登封市| 长宁区| 长海县| 报价| 景泰县| 临西县| 股票| 兴文县| 龙岩市| 涿州市| 确山县| 内丘县| 长葛市| 崇州市| 本溪市| 巫溪县| 温泉县| 泗洪县| 华阴市| 阿合奇县|