Pheatmap热图的绘制及如何调整图片

Pheatmap包是R语言绘制热图比较强大的软件包,当然现在也有很多资料介绍这个包的使用,但是今天我写的重点不是如何使用这个包绘制热图,而是如何绘制出更好看的热图。(我使用的矩阵是1663x594),下面的左图和右图来源于同一个数据。明显可以看出左图更加直观和美观。那么绘制左图的步骤主要分下面三步:

第一步,绘制成普通热图:

数据格式

#读取数据

rt=read.table("diffmRNAExp.txt",sep="\t",header=T,check.names=F)

#第一列为行名

rownames(rt) = rt[,1]

#去掉行名,将表达量取均值

rt = rt[,-1]
rt=log10(rt+1)

#加载R包

library(ggplot2) library(pheatmap)

#绘制热图

pheatmap(rt,scale = "row",cluster_row =T,cluster_col =F,show_rownames=F,color = colorRampPalette(colors = ("blue","white","red"))(102))

第二步,右边的颜色尺度范围默认是(-20,20),通过设置自行调整,比如说调整成(-4,4)。

bk <- c(seq(-4,-0.1,by=0.01),seq(0,4,by=0.01))
pheatmap(rt,scale = "row",cluster_row =T,cluster_col =F,show_rownames=F,
color=c(colorRampPalette(colors=c("blue","white"))(length(bk)/2),colorRampPalette(color=c("white","red"))(length(bk)/2)),fontsize=8,fontsize_row=4,legend_breaks=seq(-4,4,2),breaks=bk)

第三,添加分组,这里我们分别对行和列分别添加分组为例,如样本为T和N,而基因分为上调和下调。

annotation_row=read.table("group.txt",sep="\t",header=T)
annotation_col=read.table("group1.txt",sep="\t",header=T)
row_anno=data.frame(Type=annotation_row$type,row.names=annotation_row$gene)
col_anno=data.frame(Group=annotation_col$mm,row.names=colnames(rt))
分组

的格式文件如下:

pheatmap(rt,scale = "row",cluster_row =T,cluster_col =F,show_rownames=F,annotation_row=row_anno,annotation_col=col_anno,   color = c(colorRampPalette(colors = c("blue","white"))(length(bk)/2),colorRampPalette(colors = c("white","red"))(length(bk)/2)),fontsize=8,fontsize_row=4,legend_breaks=seq(-4,4,2),breaks=bk)

看到这里可能有的人说,里面分组的颜色太丑了,想换掉行不行?当然是可以的

ann_colors = list(Type=c("up"="red","down"="blue"),Group=c("N"="blue","T"="red"))
tiff(file="heatmap-1.tiff",width = 10,height =10,units ="cm",compression="lzw",bg="white",res=500)
pheatmap(rt,scale = "row",cluster_row =T,cluster_col =F,show_rownames=F,annotation_row=row_anno,annotation_col=col_anno,clustering_column_method = "complete",show_colnames=F,main="lncRNA",annotation_colors =ann_colors,color = c(colorRampPalette(colors = c("blue","white"))(length(bk)/2),colorRampPalette(colors = c("white","red"))(length(bk)/2)),fontsize=8,fontsize_row=4,legend_breaks=seq(-4,4,2),breaks=bk)

这里我只是以红色和蓝色为例,大家可以换成自己想要的颜色!

图片:
普通的热图

我们想要绘制的形式

数据格式

修改右边的标尺

添加分组

Pheatmap热图的绘制及如何调整图片相关推荐

  1. 基因表达谱热图的绘制 pheatmap

    基因表达谱热图的绘制 所需数据格式 1.数据的获取–从NCBI数据库下载基因表达谱数据 2.数据整理–将所有下载的基因表达谱数据放在一个Excel里,如下 再转成文本文档(grain2.txt). 3 ...

  2. r语言热图对列不进行聚类_R语言:手把手教你画pheatmap热图

    R语言:手把手教你画pheatmap热图 微生态 导读: pheatmap默认会对输入矩阵数据的行和列同时进行聚类,但是也可以通过布尔型参数cluster_rows和cluster_cols设置是否对 ...

  3. 一个函数实现基因内具有多种突变类型的热图的绘制

    版权声明:本文为博主原创文章,转载请注明出处   我们平常多见的基因突变热图是一个基因一个格子,一种突变类型,但实际上在同一个病人中,同一个基因往往具有多种突变类型,因此传统的热图绘制工具并不能满足我 ...

  4. python制作热图folium_Python Folium包可以在热图上绘制标记吗?

    我已经在地图上添加了一个热图,它可以正常工作. 使用另一个数据集,我希望能够在热图上绘制标记. 有可能这样做吗?我读过一些关于图层的文章,但我不确定我会怎么做.在 目前我的代码:df = pd.rea ...

  5. pheatmap热图

    pheatmap热图 # Create test matrix test = matrix(rnorm(200), 20, 10) test[1:10, seq(1, 10, 2)] = test[1 ...

  6. 获取pheatmap热图聚类后和标准化后的结果

    pheatmap是简单常用的热图绘制包,可以快速.简单.可定制的绘制漂亮热图.具体见R语言学习-热图简化和免费高颜值可定制在线绘图工具 ImageGP. 现在要解决的一个问题是图出来了,想看下转换后用 ...

  7. 热图(Heatmap)绘制(matplotlib与seaborn)

    热图是数据统计中经常使用的一种数据表示方法,它能够直观地反映数据特征,查看数据总体情况,在诸多领域具有广泛应用. 一:matplotlib绘制方法 1.基础绘制 热图用以表示的是矩阵数据,例如相关阵. ...

  8. RNAdiff 使用教程 | DEG分析、TPM计算以及火山图和热图的绘制

    RNAdiff App,让你的RNA-Seq下游分析变得更简单!APP介绍与下载安装方法请参照RNAdiff 首发 | 让你的RNA-Seq下游分析变得更简单 本文档为RNAdiff 中文说明文档,并 ...

  9. python热图_Python绘制热图

    1.matplitlib绘制热图 import random from matplotlib import pyplot as plt from matplotlib import cm from m ...

最新文章

  1. table 锁定表头
  2. GDCM:DICOM转储到SQLITE3的测试程序
  3. 服务器维修app是什么状态,监控服务器状态app
  4. 利用Jqurey写一个输入内容增加并且可以删除,上下移动的标签
  5. 积极向上,努力工作,提高能力,提高战斗力,保持热情,保持创业热情。
  6. python内置模块 (一)
  7. TensorFlow笔记(8) LeNet-5卷积神经网络
  8. java 综合练习_Java第二季6-1综合练习作业
  9. 洛谷——P2656 采蘑菇
  10. 花卷云解读淘宝客APP定制开发应该避免哪些坑
  11. 斯坦福计算机科学博士研究方向,美国人工智能专业Top10名校推荐
  12. 在线DES加密解密、DES在线加密解密、DES encryption and decryption
  13. 里程碑!美国航天局NASA耗资高达百亿美元,“终极太空望远镜”拍到了什么?| 美通社头条...
  14. VB6.0 Select Case语句
  15. 优质供应商选择标准_优秀供应商评选标准
  16. html调用properties,聊聊html中的properties和attributes
  17. 微信小程序的推广方案有哪些
  18. joda-time 文档的部分翻译
  19. 崛起的云平台,彰显信息国产化的中国力量
  20. 白帽专访丨大家好,我们是渊龙Sec安全团队

热门文章

  1. 系统架构设计:进程缓存和缓存服务,如何抉择?
  2. 读写分离原来这么简单,一个小注解就够了
  3. 某程序员总结大厂程序员性格:阿里出来的是人精!百度出来的脾气好!美图出来的一根筋!头条出来的心高气傲!京东出来的满嘴是兄弟!...
  4. 最近面试了一位4年的Java,什么都不知道!还自认为很牛逼...
  5. 漫画:小白为了面试如何刷题?(呕心沥血算法指导篇)
  6. 如何在微服务架构下进行数据设计?
  7. Java内存模型深度剖析
  8. 飞书,成就组织和个人 让每一分努力都有意义!
  9. 使用Leangoo做销售管理系统
  10. Leangoo英文版来了~