1.什么是热图?

在组学研究的相关文章中,我们常常可以看到热图(Heatmap)的展示。这些红绿相间且色彩变化丰富的热图总是能吸引读者的眼球,从而为文章增添不少亮色。当然,作为严谨的科学研究论文,图表的展示当然不可能仅仅是为了好看。热图作为一种对实验数据及其分析结果的直观的表达方式,在很多文章中都有着不可或缺的地位。

它是一种将规则化矩阵数据转换成颜色色调的常用的可视化方法,其中每个单元格对应数据的某些属性,属性的值通过颜色映射转换为不同色调并按规则填充单元格。

本文我们就来讨论一下热图是如何绘制的以及如何对其进行解读。

2.绘图前的数据准备

demo数据可以在https://www.bioladder.cn/shiny/zyp/demoData/heatmap.rar下载。

2.1 热图数据

数据来源一般是搜库结果定量表。包含2个维度的数据,一般情况下,每一行是一个基因,每一列是一个样本。

2.2 样本分组数据(可选)

行名的名称和个数要和之前的heatmap数据保持一致,列名为分组名称,可以包含不止一个分组。

2.3 基因分组数据(可选)

行名的名称和个数要和之前的heatmap数据保持一致,列名为分组名称,可以包含不止一个分组。

3.R语言怎么画热图

library(pheatmap) # 加载pheatmap这个R包# 1,读取热图数据文件
df = read.delim("https://www.bioladder.cn/shiny/zyp/demoData/heatmap/data.heatmap.txt", #文件名称 注意文件路径,格式header = T, # 是否有标题sep = "\t", # 分隔符是Tab键row.names = 1, # 指定第一列是行名fill=T) # 是否自动填充,一般选择是
# (可选)读取分组数据文件
# dfSample = read.delim("https://www.bioladder.cn/shiny/zyp/demoData/heatmap/sample.class.txt",header = T,row.names = 1,fill = T,sep = "\t")
# dfGene = read.delim("https://www.bioladder.cn/shiny/zyp/demoData/heatmap/gene.class.txt",header = T,row.names = 1,fill = T,sep = "\t")# 2,绘图
pheatmap(df, # annotation_row=dfGene, # (可选)指定行分组文件# annotation_col=dfSample, # (可选)指定列分组文件show_colnames = TRUE, # 是否显示列名show_rownames=TRUE,  # 是否显示行名fontsize=2, # 字体大小color = colorRampPalette(c('#0000ff','#ffffff','#ff0000'))(50), # 指定热图的颜色annotation_legend=TRUE, # 是否显示图例border_color=NA,  # 边框颜色 NA表示没有scale="row",  # 指定归一化的方式。"row"按行归一化,"column"按列归一化,"none"不处理cluster_rows = TRUE, # 是否对行聚类cluster_cols = TRUE # 是否对列聚类
)# 更多参数可以输入 ?pheatmap 查看

4.BioLadder生信云平台在线绘制热图

不想写代码?可以用BioLadder生信云平台在线绘制热图。

免费使用,注册登录后畅享40+模块。

网址:https://www.bioladder.cn/web/#/chart/6

5.热图怎么看?

如图,就是一副组学研究中热图的常用绘制模式,每个小方格表示每个基因在不同样本中的定量值,其颜色表示该基因表达量大小,表达量越大颜色越深(红色为高表达,蓝色为低表达)。每行表示每个基因在不同样本中的表达量情况,每列表示每个样品中所有基因的表达量情况。上方树形图表示对来自不同实验分组的不同样品的聚类分析结果,左侧树状图表示对来自不同样本的不同基因的聚类分析结果。

1,行名称,一般为分组名称

2,列名称,一般为基因名称

3,图例信息,左侧是热图小方块的颜色图例说明,右侧为分组信息的图例说明。

4,列聚类,如果不聚类,排序将保持文件数据的默认方式。从样本角度讲,聚类可以观察到你采集的不同组别样本是否被分类到一起了。因为,理论上如果样本来自于同一个组,其特征应该是相似的,而如果在实际操作中,某一个应该属于该组的样本被聚类到别的组了,那就说明这个样本本身的变异度很高,或者说在之前的样本采集或者测序过程中出了什么问题。

5,行聚类,如果不聚类,排序将保持文件数据的默认方式。从基因表达角度讲,聚类可以观察到哪些基因群体具有比较一致的表达变化,因为基因的上下游关系一般是连锁反应的,也就是说一个基因的表达增加可能能够带动一系列的基因的表达增加。

6,列分组信息。

7,行分组信息。

R语言绘图(一)热图相关推荐

  1. 【R语言】——聚类热图行列分组信息注释热图2

    上一期"[R语言]--聚类热图绘制(pheatmap)"介绍了R语言pheatmap包绘制聚类热图的基础代码,本期介绍当需要同时在热图上显示分组情况时,可利用pheatmap包构建 ...

  2. R 语言绘制环状热图

    作者:佳名 来源:简书 - R 语言文集 1. 读取并处理基因表达数据 这是我的基因表达量数据: 图 Fig 1 > myfiles <- list.files(pattern = &qu ...

  3. R统计绘图-corrplot热图绘制细节调整2(更改变量可视化顺序、非相关性热图绘制、添加矩形框等)

    上一篇文章推送的是怎样调整corrplot热图的可视化参数,以修改字符和图例位置,数据可视化形式和字符小大和颜色等这篇是一个补充部分,记录怎样修改参数以变量排序方式和突出部分数据.本流程还是使用R统计 ...

  4. R语言绘制相关性热图

    1. ggplot2包ggplot函数绘制相关性热图 ### 1. ggplot2包ggplot函数绘制相关性热图 rm(list = ls()) head(mtcars[,1:6]) #查看前六行六 ...

  5. R语言绘制heatmap热图

    From:http://bbsunchen.iteye.com/blog/1271580 介绍如何使用 R 绘制 heatmap 的文章. 今天无意间在Flowingdata看到一篇关于如何使用 R ...

  6. R语言pheatmap包热图legend位置调整

    前言 上一期用 pheatmap 包画完热图之后发现,虽然图很美观,但是图例位置有些不符合我的要求,我希望图例 (legend) 在左边,所以去看了看 pheatmap 函数具体参数,然而只有 leg ...

  7. R语言绘图-1-火山图

    0. 简介: 火山图:一种表示特征差异表达的散点图.以基因的差异表达为例:x轴对应fold change,y轴对应p-value. 1. 绘图数据 https://gist.github.com/st ...

  8. R语言绘图—Veen(韦恩图)

    韦恩图(Venn Diagram,也称文氏图),用于可视化元素集合重叠区域的图示.1880年,维恩(Venn)在<论命题和推理的图表化和机械化表现>一文中首次采用固定位置的交叉环形式用封闭 ...

  9. r语言绘制精美pcoa图_R语言绘制交互式热图

    热图 通过热图可以简单地聚合大量数据,并使用一种渐进的色带来优雅地表现,最终效果一般优于离散点的直接显示,可以很直观地展现空间数据的疏密程度或频率高低.但也由于很直观,热图在数据表现的准确性并不能保证 ...

  10. R语言绘图—热图绘制

    R语言绘图-热图绘制 原创 R语言与医学生  2022-06-24 20:59 发表于广东 热图使用颜色来表示二维图中第三个变量的变化和大小.热图能清楚直观的看到数据的变化.今天就简单介绍下R语言中热 ...

最新文章

  1. 服务器时间修改日志怎么查,查看云服务器的操作日志
  2. 打上花火中文谐音歌词_【1分钟学会闽南语歌】茄子蛋-《浪子回头》-闽南语音译歌词视频...
  3. vue 给url 中文参数 添加编码解码
  4. e会学中C语言课程考试答案,管理信息系统期末考试A试卷答案卷
  5. mro列表_MRO模块操作指导书
  6. linux 目录 读写,Linux C 文件与目录3 文件读写(示例代码)
  7. 【Machine Learning 五】Coursera无法观看课程解决方案
  8. java中replaceall用法_Java中String的ReplaceAll使用小结
  9. window docker TensorFlow环境搭建
  10. 初级工程师该如何去学习,如何去研发开关电源?
  11. shell脚本基础教程,快速上手
  12. ~是什么意思 在C语言中,~0代表什么
  13. 栅格数据灰度化并前端转换展示
  14. BTA前瞻 | 这家区块链公司币圈链圈通吃!专访井通科技CTO杨建新
  15. 自己怎么开发一个软件app、如何开发一个app系统软件?
  16. 塑料粘结硬质铁氧体磁铁的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  17. 【毕业设计】基于STM32及OpenMV的云台追踪装置
  18. 如何快速将pdf转换成excel
  19. 怎么用java程序控制步进电机_用单片机按键控制步进电机转动的程序怎么写
  20. mysql去掉两个最高分_excel去掉两个(多个)最低分、最高分,求总(平均)分...

热门文章

  1. 不小心将 pip 卸载了,重新安装pip
  2. DELPHI点在多边形内算法
  3. 【Linux实验】LINUX系统的文件操作命令
  4. 如何优雅的在微信小程序使用 SVG 字体图标
  5. 初学必看 C陷阱与缺陷(第二版)读书笔记
  6. python书籍推荐1001python书籍推荐_Python之codebook笔记
  7. 计算机u口保护,u盘写保护
  8. 多linux系统u盘制作,高手教你如何做一个U盘Linux系统
  9. Firefox XPI插件安装方法
  10. 1.1计算机解决问题的过程教案,1.1 计算机解决问题的过程