热图-木秀于林,风必摧之

R包依据input产生output,热图亦如是。我们要清楚地了解自己的目的,才能有望基于pheatmap生成自己想要的结果。很大或很小的数值都会影响热图的效果,鹤立鸡群、木秀于林,会影响对其他大多数数据的展示,对比就不那么明显了;毕竟,我们要的不是一枝独秀,而是万紫千红。
数据放在这里:

以下是我要画的热图
image.png
但实际,相同数据,我画出来,它长这样
TF_matrix=t(scale(t(TF_matrix)))
annotation_col = data.frame(CellType = factor(rep(c("NSCLC", "SCLC"), c(68,37))))
######nrDEG这里没展示,大家可用其他函数生成105个不同的名称,否则会annotation_col这里会报错;
rownames(annotation_col)<-colnames(nrDEG)
pheatmap(TF_matrix,annotation_col=annotation_col,labels_col = '',cluster_cols = FALSE)
  • 注意scale函数的两个参数(center、scale)均以列为单位进行,要了解自己的数据,清楚哪个维度是需要进行归一化的,这里是我画热图时对数据处理时经常用到的函数;
  • center是指每列的元素减去该列的均值,在scale函数中,center是默认执行的;
  • scale是指在center功能执行后,每列元素除以其标准差;在scale函数中,scale也是默认执行的;


    Rplot_1.png
之前我觉得,图画出来就好了
但其实
合理性、对比鲜明、美观这些因素,如果只是捎带手的事儿,为什么不做好呢?
  • 对比不鲜明,正常来说,正负值的对比应是鲜明的,由于单个较大或较小值的存在会造成其他数值的热图颜色对比不鲜明所以,一般会有阈值的设定,阈值一般是2和-2,3和-3这样对称着来的;
  • annotation_col那里是连成一片的,其实是,行太多,画布大小的问题,所以直接出的图各列之间是没有边界的;
  • 颜色设置也很重要,指定了颜色条中间的颜色;这着实是一门大学问,我没找到文章里的颜色的名字,表示还是放弃了;
略微改良以后,出图如下:
TF_matrix=t(scale(t(TF_matrix)))
TF_matrix[TF_matrix>2]=2
TF_matrix[TF_matrix< -2] = -2
annotation_col = data.frame(CellType = factor(rep(c("NSCLC", "SCLC"), c(68,37))))
rownames(annotation_col)<-colnames(nrDEG)
pheatmap(TF_matrix,annotation_col=annotation_col,labels_col = '',cluster_cols = FALSE, cellwidth = 3, cellheight = 15,filename = 'test.png')
bk = unique(c(seq(-2,2, length=100)))
pheatmap(TF_matrix,annotation_col=annotation_col,labels_col = '',breaks=bk,color = colorRampPalette(c("navy", "white", "firebrick3"))(100),cluster_cols = FALSE, cellwidth = 3, cellheight = 15,filename = 'test.png')
这里解释下以上用到的参数(R里的pheatmap这里的参数太多,一一解释也没有必要):
  • annotation_col 指对列的注释,是我们的样本信息来的,要求的格式是数据框;
  • breaks 覆盖数据中的值范围的数字序列(这里是用seq从-2到2生成了100个数字),是一个比颜色矢量长的元素。 用于将值映射到颜色。
  • col 颜色设置,这里colorRampPlatte生成了100个颜色,breaks中的数值与这里的颜色进行映射,中间的颜色设置为‘white’,使图中的对比更加鲜明;
  • labels_col 指是否标注列名
  • cluster_cols 只是否对列进行聚类
  • cellwidth 单位格子的宽度设置
  • cellheight 单位格子的高度设置
  • filename 不再直接于plots处出图,而是以另外的格式对图进行存储
test.png

0这里很好
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容