日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iheatmapr包:可交互的热图绘制方法

發(fā)布時(shí)間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iheatmapr包:可交互的热图绘制方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

iheatmapr包

在R中有許多用于繪制熱圖的包,今天介紹一個(gè)比較有意思的用于繪制熱圖的包,iheatmapr 包,這個(gè)包是用來繪制復(fù)雜的、且具有交互作用的熱圖。

用iheatmapr包繪制得到的熱圖就是下方這樣,不僅能夠反應(yīng)多種信息,還具有交互功能。

這個(gè)熱圖中包含8個(gè)信息:

  • 樣本的相關(guān)性矩陣熱圖;

  • 按列的聚類關(guān)系;

  • 按行的聚類關(guān)系;

  • 樣本聚類模式的顏色注釋;

  • 每個(gè)樣本最低和最高濃度的顏色注釋;

  • 樣本自身分組的顏色注釋;

  • 每個(gè)樣本真實(shí)藥物處理實(shí)際過程的熱圖;

  • 平均藥物濃度隨著時(shí)間變化的散點(diǎn)圖。

iheatmapr包的安裝

“iheatmapr”包含在CRAN中,可以直接使用install.packages()函數(shù)進(jìn)行安裝。

install.packages("iheatmapr")

我的R是4.0,在安裝的時(shí)候提示4.0中缺少一個(gè)依賴包S4Vectors。

查了一下,S4Vectors是屬于Bioconductor的包,因此用Bioconductor包的安裝方式安裝S4Vectors。

if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager") BiocManager::install("S4Vectors")

在安的過程中發(fā)現(xiàn)速度那叫一個(gè)龜速,因此設(shè)置了一下Bioconductor的鏡像。

chooseBioCmirror()

之后在對(duì)話框中輸入離自己最近的鏡像編號(hào)就行了。

安裝完S4Vectors之后,iheatmapr就可以正常加載了。

library(iheatmapr)

使用實(shí)例

首先要構(gòu)造用于分析的繪圖數(shù)據(jù),這里使用datasets包內(nèi)的Indometh作為示例。

#載入繪圖包library(iheatmapr)library(datasets)library(reshape2)#使用acast調(diào)用Indometh數(shù)據(jù)集中的內(nèi)容Indometh_matrix <- acast(Indometh, Subject ~ time, value.var = "conc")Indometh_matrix <- Indometh_matrix[as.character(1:6),]rownames(Indometh_matrix) <- paste("Patient",rownames(Indometh_matrix))##計(jì)算相關(guān)性矩陣Indometh_patient_cor <- cor(t(Indometh_matrix))##取每個(gè)樣本數(shù)據(jù)中的最大值和最小值patient_max_conc <- apply(Indometh_matrix,1,max)patient_min_conc <- apply(Indometh_matrix,1,min)##給每個(gè)樣本隨機(jī)分配一個(gè)分組patient_groups?<-?c("A","A","B","A","B","A")

繪制相關(guān)性矩陣熱圖

example_heatmap <- main_heatmap(Indometh_patient_cor, name = "Correlation")example_heatmap

可以使用colors參數(shù)修改顏色,colors = “RColorBrewer palettle/顏色名字”。

main_heatmap(Indometh_patient_cor, colors = "Pinks",?????????????name?=?"Correlation")

添加第二幅熱圖

main_heatmap(Indometh_patient_cor, name = "Correlation") %>%????add_main_heatmap(Indometh_matrix,?name?=?"Indometacin<br>Concentration"

如果name=相同名字的話,新添加的熱圖會(huì)與之前的熱圖共享相同的顏色。

如果你想改變添加熱圖的位置,就使用side=c(“l(fā)eft”, “right”, “top”,”bottom”)。

添加標(biāo)簽

main_heatmap(Indometh_matrix, name="Correlation") %>% add_row_labels() %>% add_col_labels() %>% add_row_title("Patients", buffer=0.2) %>%??add_col_title("Patients",?buffer=0.1)

buffer規(guī)定title文字與圖之間的距離。

添加聚類關(guān)系

main_heatmap(Indometh_patient_cor) %>% add_row_clustering() %>%??????????add_col_clustering()

如果是希望以顏色表示樣本的聚類關(guān)系,則需要先進(jìn)行一個(gè)聚類,之后在手動(dòng)進(jìn)行負(fù)值。

clust_assign <- kmeans(Indometh_matrix, 3)$cluster main_heatmap(Indometh_patient_cor) %>% add_row_clusters(clust_assign) %>%??add_col_clusters(clust_assign)

添加樣本注釋

main_heatmap(Indometh_patient_cor) %>% add_row_annotation(data.frame("Max" = patient_max_conc, "Min" = patient_min_conc, "Groups" = c("A","A","B","B","A","A")), colors = list("Max" = "Reds", "Min" = "Blues",???????????????????????????????????"Groups"?=?c("purple","pink")))

除了add_row_annotation,還可以使用add_row_signal和add_row_groups添加注釋。

main_heatmap(Indometh_patient_cor) %>%add_row_signal(patient_max_conc, "Max<br>Concentration", title = "Max", colors = "Reds") %>%add_row_signal(patient_min_conc, "Min<br>Concentration", title = "Min", colors = "Reds") %>%add_row_groups(c("A","A","B","B","A","A"),?"Groups")

寫在后面

到這里,我們已經(jīng)分布講解了文章開始出現(xiàn)的復(fù)雜熱圖中的大部分實(shí)現(xiàn)代碼,下面給出一個(gè)完整的代碼。

main_heatmap(Indometh_patient_cor,name = "Correlation") %>% add_col_clustering() %>% add_row_clustering(k = 3) %>% add_row_title("Patients") %>% add_col_title("Patients") %>% add_row_annotation(data.frame("Max" = patient_max_conc, "Min" = patient_min_conc, "Groups" = patient_groups)) %>% add_main_heatmap(Indometh_matrix, name = "Indometacin<br>Concentration") %>% add_col_labels() %>% add_col_title("Time") %>%??add_col_summary()

更對(duì)關(guān)于iheatmapr包的參數(shù)使用和個(gè)性化設(shè)置,請(qǐng)參考該包的幫助文檔。
https://docs.ropensci.org/iheatmapr/articles/full_vignettes/iheatmapr.html#modular-building-blocks-1

你可能還想看

  • R語言 - 熱圖美化

  • R中1010個(gè)熱圖繪制方法

  • 這也太簡單了吧!一個(gè)函數(shù)完成數(shù)據(jù)相關(guān)性熱圖計(jì)算和展示

  • 利用ComplexHeatmap繪制熱圖(一)

  • network3D: 交互式?;鶊D

  • network3D: 交互式網(wǎng)絡(luò)生成

  • 一個(gè)震撼的交互型3D可視化R包 - 可直接轉(zhuǎn)ggplot2圖為3D

  • ggThemeAssist|鼠標(biāo)調(diào)整主題,并返回代碼

往期精品(點(diǎn)擊圖片直達(dá)文字對(duì)應(yīng)教程)

后臺(tái)回復(fù)“生信寶典福利第一波”或點(diǎn)擊閱讀原文獲取教程合集

總結(jié)

以上是生活随笔為你收集整理的iheatmapr包:可交互的热图绘制方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。