新媒体管家
提到热图,大家可以第一个想到的R语言,有的小伙伴就说了我一看到代码就头大,有没有别的办法?上次跟大家分享了Graphpad prism绘制柱状图与散点图共存图,其实Graphpad Prism的功能远不止这些,它驾驭起热图也是妥妥的。
1
使用Graphpad Prism绘制热图
使用Graphpad Prism 7.0(win7,64位系统)给大家分享如何绘制热图。原始数据(不同基因在不同器官中的表达情况)如下:
步骤
1、打开GraphPad Prism 7.0软件,New table &graph,选择Grouped
选择Enter and plot a signle Y value for each point,Create
2、输入数据:
在Data Table中输入数据,GoupA——F是不同基因在不同组织(Heart、Lung、liver、Brain……)中的表达情况:
3、进入Graphs下可以看见步骤2输入的数据Data1的图形,将进入Change Graph Type界面,Graph family为Grouped不需改动,选择Heat Map,在下面有四种热图的配色可以进行选择和预览,在此以选定第一个为例,点击OK
4、可以看见绘制热图的基本效果如下如图:
此时横坐标显示为ABCDEF,纵坐标显示123456,点击横坐标,进入Format Graph,Titles&Labels界面:
将Row Lables和Column Lables分别选择为对应的Row titles和Column titles,点击OK。
得到以下图片:
我们可以发现Gene1-6相邻且太过紧密,我们可以进行如下调节,重新点击点击横坐标,进入Format Graph,Titles&Labels界面,将Column Labels中的Column titles的角度由水平改为Angled(45 degrees),点击OK。
最终效果如下,导出图片即可。
问题环节
问题1:如何更改热图颜色配置?
双击热图进入进入Format Graph界面,可以看见此时的颜色配置为Colormap
Colormap下除了Rainbow还有以下几种配色方式可以进行选择。
Single gradient,从A颜色到B颜色,一般为从最小值到最大值。
Double gradient,从A颜色到B颜色再到C颜色。
Grayscale显示为灰度效果。
Categorical不同范围的值显示为不同颜色:
问题2:如何显示下图的边界:
双击热图,进入Format Graph界面,将Cell borders勾上,颜色可以自行选择,线宽为1/2pt,点击OK即可。
2
Excel制作热图
除了Graphpad Prism,其实Excel也可以对付 heatmap,使用Excel 2010或以上版本,上菜!
步骤
原始数据如下:
1、在Excel中选中要做热图的全部数据 (只选择数值部分),然后在开始菜单中,执行以下操作:“条件格式”--“色阶”--“其他规则”
2、选中“其他规则”后,弹出如下的窗口。默认为“双色刻度”,可改为“三色刻度”
3、选中三色刻度后,设置最小值、中间值、最大值的类型和颜色
注意:此处颜色选择也可以在第一步色阶里直接选择自己喜欢的。另外,建议将类型都改为“数字”,好处是可以自定义最小值、中间值、最大值的数值大小。当然你的数据应在你设置的最小值,最高值范围内。例如此处数据范围84-116,故可设置最小值为80,最大值120,中间值可设为两者的中位数100。
此外,将预览后面的色条截取到Excel表格中。
截取效果如下:
4、上图中。若觉得色条长度过长,可以在选中色条进行调整,选中后会出现小方块,则可以调节色条的宽度、长度。
5、此外,为了美观,可以将Excel中的边框去除。
选中目标—鼠标右键—选中“设置单元格格式”—弹出对话框—选中
“填充”—选中背景颜色为无色即可。例如上面例子:
同理,将行的表格边框去除,最终,得到如上效果。
6、可见,若觉得上面的数字放在上面不美观,可以进行如下操作去除数字。
选中数字目标区域—鼠标右键—设置单元格格式—选中“数字”—选中分类中的“自定义”—在类型输入两个分号(;;)--点击确定
图解继续用上面例子说明如下:
7、最后,可得到如下效果图,到此热图的制作就完成了。(另外,可根据具体情况调节行高、列高)