案例演示 | R语言绘制热图代码

Python021

案例演示 | R语言绘制热图代码,第1张

本文是个人笔记,请谨慎付费[星球用户可免费看]。

我们在分析了差异表达数据之后,经常要进行热图的可视化展示。

热图(Heat map) 是一个以 颜色 变化来显示数据的 矩阵 。虽然“热图”是一个新兴的词汇,但是用明暗的矩阵来标示元素的方法已经有超过一世纪的历史了。

热图源自于展示数据的平面图像,较大的数字以小的深灰色、黑色方格呈现,而较小的数字则以较亮的方格标示。如Toussaint Loua在1873年就曾使用这样的手法来绘制对 巴黎 各区的社会学统计。 [1] 彼得·斯伊斯在1957年时进行 群集分析 时也透过置换矩阵的行和列的方法将更相似的值标示在一起。雅克·贝尔坦也曾用过类似的方法标示出 累积量表 的资料。而将 阶层式分群法 加入到矩阵中的概念则是由罗伯特·F·林于1973年创造,他利用多次印刷堆叠出的字符来表示不同程度的灰色,将每个字符大小则视为一像素。利兰·威尔金森则是于1994年开发出了第一个能生成高分辨率的矩阵的计算机程序—SYSTAT。

软件设计师科尔马克·金尼则在1991年时注册了热图这个商标用以形容一种描绘金融市场信息的平面图形, [2] 但是取得了金尼发明的公司在2003年时不小心使得这个商标失效了 [3]

前言: 仍然是三代测序数据的分析,宏基因组的文章中经常出现聚类热图和物种丰度图,用来直观地识别与某些疾病或者表型相关的菌群构成。

1.读取数据

一共有11个样本,每一个样本的测序reads都经过Nanopore官方的Epi2Me程序鉴定了物种,下表中第一列是被鉴定的菌种,第二列是该样本中每个物种产生的reads数目。

首先导入到R语言中,合并所有样本到一个数据框:

2.绘制热图

经过上一步,我们得到了列名为样本,行名为菌种的reads数据框,然后就可以绘制热图,进行聚类分析了:

绘制结果:

3.绘制物种丰度图

丰度图,其实就是堆积图,把每个样本的reads数目转换为百分数,然后作图就可以了:

绘制结果:

不奇怪,你的老师没告诉你,上中国特色的网络要会功夫,不会功夫无法翻功夫墙。

第一步的意思是安装pheatmap包,第二步的意思是引用pheatmap库,第三步的意思是打开nprot.2009.97_for_heatmap.txt 文件中的数据并赋值到变量a,第四步,用pheatmap分析数据变量a。