分享

用R画对称的heatmap

 勤悦轩 2017-02-05
参考资料:
(1)http:///2010/01/21/how-to-make-a-heatmap-a-quick-and-easy-solution/
主要讲heatmap函数怎么用,简单易懂

(2)http://www.cnblogs.com/xianghang123/archive/2011/12/12/2285026.html
就是把(1)和其它东西翻译为了中文

目前来说写的最详细的

非常详细的左图说明(英文)

R中画heatmap主要有以下几个函数:
(1)heatmap(2)heatmap.2 (3)pheatmap
用heatmap默认的画法会导致行与列的表头并不是对齐在从左上到右下的对角线上,而是从左下到右上的对角线上,因此不好看。比如下面这个图:
用R画heatmap

这样我们看起来就很别扭,那么推荐还是用heatmap.2或者pheatmap吧。
假设输入数据是这样的:
ID RF50 RF54 RF100 RF200 RF300 RF350
RF50 1 0.978716 0.881859 0.733384 0.619191 0.563694
RF54 0.978716 1 0.898623 0.752694 0.630872 0.57574
RF100 0.881859 0.898623 1 0.831634 0.702143 0.639212
RF200 0.733384 0.752694 0.831634 1 0.844293 0.768621
RF300 0.619191 0.630872 0.702143 0.844293 1 0.910373
RF350 0.563694 0.57574 0.639212 0.768621 0.910373 1
那么相应的基本代码是:
library(pheatmap)
pearson<-read.delim("e:\\RF\\pearson_heatmap_RF50-350.txt",header=T)
row.names(pearson)<-pearson$ID
pearson_new<-pearson[-1] #去除第一列的表头
mat_pearson<-as.matrix(pearson_new)
heatmap(mat_pearson)
或者:
pearson_heatmap<-pheatmap(mat_pearson,cellwidth = 60, cellheight = 60,fontsize=16, fontsize_row=16)
其中cellwidth和cellheight是设置网格大小,fontsize设置字体大小。用pheatmap的结果如下:
用R画heatmap


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多