如何在R语言中建立六边形矩阵热图heatmap可视化

这是一个六边形热图可视化程序,主要用到的知识RColorBrewer,fields,也就是R中的可视化绘图库。

由Kaizong Ye,Weilong Zhang撰写

本文希望SOM的结果以六边形热图可视化。让我向您展示如何在R中创建六边形热图!


您必须根据自组织神经网络(SOM)的结果来创建自己的变量 。输入变量 Heatmap_Matrix 变量是一个矩阵,可以作为热图的数字表示。


因此,矩阵具有与SOM映射相同的行数和与SOM映射相同的列数,并且热图中的每个值表示一个六边形的值。 

×

热图的作用主要是2个:1是对实验数据进行质制和差异数据的展现。例如每个小方格表示每个基因,其颜色表示该基因表达量大小,表达量越大颜色越深(红色为上调,绿色为下调)。每行表示每个基因在不同样本中的表达量情况,每列表示每个样品中所有基因的表达量情况。

在文章中,热图通常有两大作用:数据质量控制和直观展示重点研究对象的差异变化情况。

如何使用R软件和ggplot2包可视化相关矩阵。

1. 数据准备

以下示例中mtcars的数据被使用。

输出结果如下:

2. 计算相关矩阵

可以使用R语言中的cor()函数创建相关矩阵:

输出结果如下:

3. 使用ggplot2创建相关矩阵的热图

使用reshape2包中的melt()函数将数据“融合”:

输出结果:

ggplot2包中的geom_tile()函数可用于可视化相关矩阵:

输出结果:
在这里插入图片描述

默认的绘图很不美观,将在下一节中看到如何更改热图的外观。





这里 [1,1] 将成为左下节点(第一行,第一列),[1,2] 将成为右侧的节点, 将成为 [2,1] 第二行中左侧的第一个节点,依此类推。

因此,从视觉上看,顺序从左下到右上,而在矩阵中,则从左上到右下。

您必须根据自组织神经网络(SOM)的结果来创建自己的变量 。


热门课程

R语言数据分析挖掘必知必会

面对扑面而来的数据浪潮,包含Google、Facebook等国际企业,都已采用R语言进行数据分析

探索课程

 
输入变量 Heatmap_Matrix 变量是一个矩阵,可以作为热图的数字表示。 

因此,矩阵具有与SOM映射相同的行数和与SOM映射相同的列数,并且热图中的每个值表示一个六边形的值。这里 [1,1] 将成为左下节点(第一行,第一列),[1,2] 将成为右侧的节点, 将成为 [2,1] 第二行中左侧的第一个节点,依此类推。因此,从视觉上看,顺序从左下到右上,而在矩阵中,则从左上到右下。

能够读取颜色含义的图例

在最后,创建图例,您将获得与上图类似的热图。

希望我的解释和代码能帮助您在R中创建自己漂亮的热图。


可下载资源

关于作者

Kaizong Ye拓端研究室(TRL)的研究员。

本文借鉴了作者最近为《R语言数据分析挖掘必知必会 》课堂做的准备。

​非常感谢您阅读本文,如需帮助请联系我们!

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498