使用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)

所以还是比较简单,使用Excel的两个*内置函数*和自动映射功能,
在单元格中输入`=avergae(`,手动选择一行,**回车**即可计算均值,

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

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

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

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

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

到此,相对能看的热图基本完成,但是热图太丑,所以我们需要进行美化
1. 边框太丑,去掉
2. 标签文字居中会好看点,调整
3. 单元格中标准化之后的数值太丑,不好看,去掉
进一步美化
以上,第一点直接进项颜色填充,填充为白色,第二点文字居中,搞定,第三点比较麻烦,所以这里直接演示最后一点

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

至此,我们已经完成了常见的热图绘制和整理,那么问题来了,
得到矢量图
**如何得到矢量图,毕竟,清晰度很关键啊,或许要放到论文里面...**
这个操作就比较简单了,
1.选择Excel中对应的**热图**,复制(或者鼠标右键复制,或者键盘Ctrl+C)
2.打开Adobe Illustractor,黏贴(或者鼠标右键黏贴,或者键盘Ctrl+V)

搞定,Excel做一个热图,还是**很简单的**。
这个就是送给大家的**情人节礼物**了
欢迎关注公众号,或者扫码加入星球,在线问答

网友评论