美文网首页生信R学习与可视化
R绘制热图(pheatmap)

R绘制热图(pheatmap)

作者: 欧阳松 | 来源:发表于2020-01-02 23:25 被阅读0次

    热图可以反应各个样本的基因分布情况,把数字转换成图片更直观一些,目前画热图的软件不少,比如graphpad,华科也出了一款软件,甚至excel都可以,还有很多在线热图工具,但个人感觉还是R的pheatmap包最好看。

    library(pheatmap) #加载包
    setwd("x:/xxx") #设置工作目录
    

    热图需要准备的数据

    • 格式:txt或者csv的表格文件,以下制表符的txt为例
    • 内容:为基因表达量(数字),为样本名称
      矩阵格式如下:
    gene test1 test2 test3
    A 80 90 90
    B 70 100 90
    C 66 90 90
    D 55 88 90

    分组文件 (需要时备用,可以行分组,也可以列分组)

    test group score
    test1 group1 90
    test2 group2 100
    test3 group1 90

    加载数据

    heat <- read.table("Desktop/heat.txt",header = T, row.names = 1, sep="\t")
     #加载表头,第一列固定
    
    1.png

    作图

    pheatmap(heat) #默认作图,无均一化
    
    3.png
    pheatmap(heat,scale="row")
    #scale="row"表示按行均一化
    

    按行均一化,可可以列均一化,默认是无,"row","column" or "none"默认是"none**"
    均一化目的:有时候表达量差别太大,会出现差别大情况,需要进行一致化缩小差距

    2.png
    pheatmap(heat,scale="row", #行均一化
    cluster_cols=F,cluster_rows=F, #不按行聚类,不按列聚类,就是不显示树枝,F也可以为FALSE
    show_rownames = F,show_colnames=F#不显示行名,不显示列名)
    
    4.png
    pheatmap(heat,scale="row",cluster_cols=F,cluster_rows=F,
    show_rownames = F,show_colnames=F,
    color = colorRampPalette(c("green","white","red"),bias=2.5)(256)) 
    #更改配色,颜色自己定义
    
    5.png

    常见参数设置

    clustering_distance_rows = "correlation",#聚类线长度优化
    treeheight_row=40,#按行聚类树高
    treeheight_col=40,#按列聚类树高
    cluster_cols=FALSE,#是否按列聚类
    cluster_rows=F,#是否按行聚类
    display_numbers=F,#是否在每一格上显示数据
    number_format="%.2f",#显示数据的格式,几位小数,或"\%.1e",颜色number_color,大小fontsize_number
    fontsize_row=10,#行名称字体大小
    fontsize_col=15,#列名称字体大小
    #格子大小
    cellwidth = 50,
    cellheight= 14,
    main="ABC",#标题名称
    gaps_row = c(10, 15),#插入缝隙,不能聚类!
    cutree_row = 7,#按聚类分割
    show_colnames=TRUE,#是否显示列名,同理show_rownames
    #定义颜色"navy", "white", "firebrick3"
    - color = colorRampPalette(c("blue","white","red"),bias=2.5)(256),         
    - color = colorRampPalette(c("MediumBlue","white","red"))(256),
    -  #border_color = "black",
    #格子框颜色
    legend = FALSE,#是否显示图例
    legend_breaks = -1:4,#图例范围
    filename = "test.pdf",#保存文件命名
    

    相关文章

      网友评论

        本文标题:R绘制热图(pheatmap)

        本文链接:https://www.haomeiwen.com/subject/ouyaoctx.html