美文网首页生信分析流程
使用Excel绘制热图heatmap(可得到矢量图)

使用Excel绘制热图heatmap(可得到矢量图)

作者: 生信石头 | 来源:发表于2018-02-14 15:27 被阅读0次

使用Excel绘制热图

事实上,对于大多数生物背景的朋友或者日常工作为湿实验的朋友,**最实用,最简单**的绘制一张热图或者直观地展示基因表达趋势的方式是**使用Excel直接绘制一张热图**。

虽然现在已经有很多网页版的或者是本地版的工具,但是对于快速的察看一些基因的表达趋势来说,或许直接在Excel上绘制会更简单方便。

故写下这个博文,希望对有需要的朋友有一点帮助。

需要的软件

只有Excel 是必须的,版本应该在2010或者以上

可选项还有Adobe Illustractor,可用于得到**矢量图**

准备数据

在生信数据中,最常见的绘制热图场景,就是多个基因在多个样本中的表达量矩阵,具体如下图,第一列是基因标签,第一行是样本标签,其他格子中为基因的RPKM或者FPKM更或者其他指标

使用到的数据

绘制热图

随后整理一个简单的热图

一个比较粗糙的热图

优化

接下来,我们要**优化**一下,这张图直接使用了*原始的表达量值*,不能很好的展现基因在不同样之间的表达变换,也可能掩盖了表达量比较低或者表达量比较高的基因的表达变化。所以,一般在热图绘制中,会采用两种两种标准化方法,

1.对数转换:转换之后,可以更好的显示出低表达基因的表达变换,也可以比较不同基因之间的表达量

2.基因在不同样本中的表达量,进行*正态标准化*,这种标准化操作后,突出地展现了基因在不同样本中的表达变化(*注意,此时不用基因之间的值没有可比性,当然这个常常并不被关注*)

3.基因在不同样本中的表达量,做0-1标准化,将最小值映射到0,最大值映射到1,按比例整理即可

上述第一种标准化方法和第三种标准化方法都比较简单,这里不加以说明,仅演示第二种标准化方法,其对应的公式是,具体可参考[百度](https://baike.baidu.com/item/%E6%AD%A3%E6%80%81%E5%88%86%E5%B8%83/829892?fr=aladdin)

u是标准化后的值,X是原始值,μ是均值,δ是标准差

所以还是比较简单,使用Excel的两个*内置函数*和自动映射功能,

在单元格中输入`=avergae(`,手动选择一行,**回车**即可计算均值,

分别计算*均值*,和*标准差*

双击箭头指向的单元格右下角的点,或者点击拖住下拉

自动映射,得到所有均值

自动计算标准差,与均值的操作类似,使用的函数是`=STDEV()`

自动映射,得到每个基因的标准差

随后,可以直接计算**标准化后的值**,按照*正态标准化*的公式,如下,**注意添加的美元符号**,输入完公式之后,回车即可完成一个单元格的计算

基于正态标准化的公式,进行计算,得到标准化后的值

由于加了美元符号,此处可以直接进行行和列的自动映射,点击单元格的右下角,向右拖拽,选择了行,再向下进行整行映射

一个单元格映射到一行,一行映射到多行

对于得到的标准化后的矩阵,复制列名 和 行名,即可得到标准化后的热图,可以明显看到,**基因在不同样本中的表达变化趋势**

标准化之前的热图 和 标准化之后的热图

到此,相对能看的热图基本完成,但是热图太丑,所以我们需要进行美化

1. 边框太丑,去掉

2. 标签文字居中会好看点,调整

3. 单元格中标准化之后的数值太丑,不好看,去掉

进一步美化

以上,第一点直接进项颜色填充,填充为白色,第二点文字居中,搞定,第三点比较麻烦,所以这里直接演示最后一点

掩盖数字

如此,即可得到这样的热图

完成了,可直接复制黏贴到报告文档

至此,我们已经完成了常见的热图绘制和整理,那么问题来了,

得到矢量图

**如何得到矢量图,毕竟,清晰度很关键啊,或许要放到论文里面...**

这个操作就比较简单了,

1.选择Excel中对应的**热图**,复制(或者鼠标右键复制,或者键盘Ctrl+C)

2.打开Adobe Illustractor,黏贴(或者鼠标右键黏贴,或者键盘Ctrl+V)

获取矢量图

搞定,Excel做一个热图,还是**很简单的**。

这个就是送给大家的**情人节礼物**了

欢迎关注公众号,或者扫码加入星球,在线问答

相关文章

网友评论

    本文标题:使用Excel绘制热图heatmap(可得到矢量图)

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