R語言之heatmap繪製

2022-01-02 R語言交流中心

在基因的表達模式分析中,我們往往需要對量化的多個基因表達數據進行可視化處理,使得我們所關注的基因在物種的不同組織以及同一組織的不同處理下的表達情況一目了然。在日常研究中,我們往往習慣於選擇熱圖實現這一基因表達模式可視化的需求,進而直觀的表述我們的基因表達模式的分析結果。今天我們介紹關於R語言繪製熱圖的一種方法,那就是利用pheatmap包進行熱圖的繪製。

1 安裝pheatmap包有兩種方式:

    a.install.packages(「pheatmap」)

    b. 通過bioconductor安裝:

    source("http://biocoundctor.org/biocLite.R")
    biocLite("pheatmap")

 

2 R包的調用: library(pheatmap)。

3 熱圖的繪製函數就是pheatmap函數,對其參數做以下介紹:

官方的參數初始情況如下圖:

 我們看到它的參數設置和其他的heatmap繪製函數基本一致。那麼我們今天主要講裡面幾個主要的參數,具體的熱圖繪製,調用函數的時候注意以下參數默認值即可。

1. color = colorRampPalette(rev(brewer.pal(n= 7, name = "RdYlBu")))(100)

主要是設置heatmap中每個格子的顏色以及顏色的過渡範圍。

2.  cellwidth = NA, cellheight = NA

設置heatmap中每個格子的寬度和高度。

3. scale = "none"

其參數有三種:row,column,none(默認)。此參數的意義就是所有的參與熱圖的數值是否做Z-score處理,並且是對數值的每一列處理還是每一行處理。

4. cluster_rows = TRUE,cluster_cols = TRUE

對於行列的數據是否做聚類,TRUE做聚類,反之不做。

5. cutree_rows = NA, cutree_cols =NA

此參數是將熱圖的行列分成幾塊,並相互獨立開。

6. annotation_row = NA,annotation_col = NA

此參數是指對於行列的注釋名稱是否設置,當然這裡設置名稱需要以因子的形式設置

例:annotation_row = data.frame(

                   GeneClass = factor(rep(c("Path1", "Path2", "Path3"),c(10, 4, 6)))

                )

annotation_col = data.frame(

                   CellType = factor(rep(c("CT1", "CT2"), 5)),

                   Time = 1:5

                )

7. annotation_names_row = TRUE,annotation_names_col = TRUE

此參數是指是否顯示我們設置的行列的名稱,比如上面設置的列名稱CellType。

8. annotation_colors = NA

此參數的功能是設置行列每個因子對應的顏色設置,默認也會提供顏色,只是可能不是自己所要,舉例其設置形式:

ann_colors = list(

    Time =c("white", "firebrick"),

    CellType =c(CT1 = "#1B9E77", CT2 = "#D95F02"),

    GeneClass =c(Path1 = "#7570B3", Path2 = "#E7298A", Path3 ="#66A61E")

)

那麼,展示一個已畫好的熱圖,供大家參考,具體的代碼自行發揮。畢竟繪製heatmap一個函數就可以了。

 

歡迎大家學習交流:

相關焦點

  • R語言熱力圖綜合教程-heatmap、d3heatmap和ComplexHeatmap
    R包和功能很多,包括:heatmap()[R基本函數,統計數據包]:繪製一個簡單的熱圖heatmap.2()[ gplots R包]:與R base函數相比,繪製了增強的熱圖。pheatmap()[ pheatmap R包]:繪製漂亮的熱圖,並提供更多控制項來更改熱圖的外觀。d3heatmap()[ d3heatmap R包]:繪製交互式/可單擊的熱圖ComplexHeatmap R / Bioconductor的包]:繪製,注釋和排列複雜熱圖(用於基因組數據分析是非常有用的)
  • 一招學會熱圖(heatmap)繪製之R語言heatmap函數
    寫在前面 本文介紹使用R語言內置函數heatmap()繪製熱圖。老調重彈,在了解R語言基本思維、使用方法之後,每學一個新的函數或者方法都有跡可循。一般都是先使用幫助文檔學習新函數的定義和使用方法,接著搜索測試數據進行訓練即可。文末附heatmap說明書。
  • 【R語言】heatmap顯示樣本類型
    前面分了四期類型給大家講了繪製熱圖時的配色方案☞【R語言】熱圖繪製-heatmap函數+默認配色方案
  • R語言學習 - 熱圖繪製 (heatmap)
    > data2 <- read.table(text=txt,sep=";", header=T, row.names=1, quote="", check.names = F)> head(data2)       Zygote 2_cell 4_cell 8_cellGene_1    1.0    2.0    3.0
  • 利用ComplexHeatmap繪製熱圖(一)
    之前熱圖三部曲介紹了使用ggplot2和pheatmp繪製熱圖R語言學習 - 熱圖繪製 (heatmap)  R語言學習 - 熱圖美化  R語言學習 - 熱圖簡化後來2017年最後學習1010個熱圖繪製方法簡略介紹了10種熱圖繪製方式,CIRCOS增加熱圖、點圖、線圖和區塊屬性是另一種形式的熱圖。
  • ComplexHeatmap |理解繪圖邏輯繪製熱圖
    之前熱圖三部曲介紹了使用ggplot2和pheatmp繪製熱圖R語言學習 - 熱圖繪製 (heatmap)  R語言學習 - 熱圖美化  R語言學習 - 熱圖簡化後來2017年最後學習1010個熱圖繪製方法簡略介紹了10種熱圖繪製方式,CIRCOS增加熱圖、點圖、線圖和區塊屬性是另一種形式的熱圖。
  • 【Python可視化6】Seaborn之heatmap熱力圖
    它提供了一個高級界面來繪製有吸引力的統計圖形。Seaborn其實是在matplotlib的基礎上進行了更高級的API封裝,從而使得作圖更加容易,不需要經過大量的調整就能使你的圖變得精緻。好像變好看了?center:設置顏色帶的分界線1sns.heatmap(data=data,cmap="RdBu_r",2            center=300)
  • R包ComplexHeatmap繪製個性化熱圖
    ComplexHeatmap包由顧祖光博士創建,是一個非常全面的繪製熱圖的R包,可以利用它來繪製許多文獻中的美圖,例如下圖展示的16S文獻分析中的熱圖。這裡主要介紹一下如何用這個R包來繪製類似的個性化熱圖。檢測安裝加載包# 檢測安裝CRAN包package_list = c("circlize","grid","BiocManager")for(p in package_list){if (!
  • 用R做heatmap圖,附加差異表達分析代碼~
    代碼如下,我主要用了heatmap.2函數,來自gplots包,下面的代碼中還貼了用limma包篩選差異表達基因的代碼。0.05esetSel<-eset[selected,]color.map<-function(mol.biol){if(mol.biol=="ALL1/AF4") "#FF0000" else "#0000FF"}patientcolors<-unlist(lapply(esetSel$mol.biol,color.map))library(gplots)heatmap
  • 超詳細的R語言熱圖之complexheatmap系列07
    complexheatmap系列第1篇:超詳細的R語言熱圖之complexheatmap系列1complexheatmap系列第2篇:超詳細的R語言熱圖之complexheatmap系列2complexheatmap系列第3篇:超詳細的R語言熱圖之complexheatmap
  • R語言學習筆記之相關性矩陣分析及其可視化
    rcorr(x, type = c(「pearson」,「spearman」))。library(Hmisc)#加載包res2 <- rcorr(as.matrix(mydata))res2#可以用res2$r、res2$P來提取相關係數以及顯著性p-valueres2$r
  • R繪圖-heatmap
    # 1.設置工作目錄及調用R包setwd("D://heatmap") library(vegan)library(RColorBrewer)library(gplots)library(permute)library(lattice)
  • Python-R: 三元相圖(ternary plots)的繪製
    包繪製三元相圖在查閱「使用Python繪製三元相圖」時,我們查閱到了ternary包,該包可實現使用Python繪製三元相圖的要求,官網為:https://github.com/marcharper/python-ternary,我們繪製幾副官網的圖例,其他樣例,大家可以參考官網:
  • Python可視化 | Seaborn5分鐘入門(六)——heatmap熱力圖
    它提供了一個高級界面來繪製有吸引力的統計圖形。Seaborn其實是在matplotlib的基礎上進行了更高級的API封裝,從而使得作圖更加容易,不需要經過大量的調整就能使你的圖變得精緻。好像變好看了?center:設置顏色帶的分界線1sns.heatmap(data=data,cmap="RdBu_r",2            center=300)
  • R作圖代碼 | 多標籤heatmap作圖R代碼共享
    相信很多研究僧都在平時的工作中需要做這種multiple label的heatmap吧,其實這個heatmap也非常容易,只要load了heatmap.3函數,生成下面的這幅圖也就是15行代碼即可完成。代碼塊# CODE之前的內容都是我給大家show的example,此代碼是我這兩天剛剛使用過的,結果100% validation,大家可以放心使用。
  • R語言繪製條形圖
    熟悉R語言的用戶應該都可以熟練的繪製條形圖,但在實際應用中,我們常常會根據數據展示的需求對條形圖進行調整,這就需要我們花費大量時間了解條形圖繪製函數的一些參數及高級方法。基於此,本文整理出一些常用的條形圖繪製代碼,希望可以為大家帶來一些方便。
  • 5步上手教你繪製Heatmap
    在這篇文章裡,我會帶著你通過五個簡單步驟,自己繪製一張標註好數據值的相關矩陣的Heatmap。f, ax = plt.subplots(figsize=(11, 15)) heatmap = sns.heatmap(corr_matrix, mask = mask, square = True,
  • 使用ComplexHeatmap包繪製個性化熱圖
    ComplexHeatmap包由顧祖光博士創建,是一個非常全面的繪製熱圖的R包,可以利用它來繪製許多文獻中的美圖,例如下圖展示的16S文獻分析中的熱圖。這裡主要介紹一下如何用這個R包來繪製類似的個性化熱圖。檢測安裝加載包# 檢測安裝CRAN包package_list = c("circlize","grid","BiocManager")for(p in package_list){if (!
  • 學R語言太難?薦你一款heatmap作圖神器
    答案非R語言莫屬了。在CNS等頂級雜誌發表的諸多文章中,不管是複雜的統計分析還是"高大上"的制表繪圖,methods裡面總少不了R語言的身影。通過R語言輕鬆完成各種繪圖,例如:韋恩圖,熱圖,線性回歸,小提琴圖,GWAS相關曼哈頓圖,乃至三維圖,地圖,circos圈圖等等。但是R語言學起來有點難怎麼辦?今天冬至兄就是來告訴你一個熱圖神器的。
  • 【R畫圖】使用R繪製其他圖形之熱圖及網絡圖
    )Quater <- rep(c('Q1','Q2','Q3','Q4'), times = 10)Counts <- round(runif(40, min = 10, max = 200))df <- data.frame(Year = Year, Quater = Quater, Counts = Counts)熱力圖可以通過stats包的heatmap