专栏首页sci666热图pheatmap()函数

热图pheatmap()函数

先看一眼这个函数的参数,这么多! 而且最后还有省略号!

那么我们应该怎么合理使用这些参数让你的热图看起来更加高大上呢?

数据准备:

此次例子,我们选择了一套GEO数据库的肺癌数据,数据编号为GSE19804,120个样本,其中包含60个癌症样本和60个癌旁正常样本,前面我们使用t检验,并对p值进行BH校正,筛选fdr小于0.01的基因中前40个在癌症相对于正常样本中显著差异表达的基因进行热图绘制。

数据格式如下:

默认参数画图:

#绘图 pheatmap(heatmap_data)

是不是很不好看?基因名和样本名乱成一堆,也看不出来那些样本聚类到了一起…

参数调整:

#颜色参数:

color

表示颜色,用来画热图的颜色,可以自己定义,默认值为colorRampPalette(rev(brewer.pal(n = 7, name =”RdYlBu”)))(100),RdYlBu也就是Rd红色,Yi黄色,Bu蓝色的过度,则主调色为红黄蓝。

#数据变换参数:

scale

是指对数值进行均一化处理,在基因表达量的数据中,有些基因表达量极低,有些基因表达量极高,因此把每个基因在不同处理和重复中的数据转换为平均值为0,方差为1的数据,可以看出每个基因在某个处理和重复中表达量是高还是低,一般选择做row均一化。

clustering_method

表示聚类方法,值可以是hclust的任何一种,如”ward.D”,”single”, “complete”, “average”, “mcquitty”, “median”, “centroid”, “ward.D2″。

cluster_rows

表示行是否聚类,值可以是FALSE或TRUE

clustering_distance_rows

行距离度量的方法,如欧氏距离

cutree_rows

行聚类数

treeheight_row

行聚类树的高度,默认为50

gaps_row

对行进行分割,就不应对相应的行进行聚类

cluster_cols

表示列是否聚类,值可以是FALSE或TRUE

clustering_distance_cols

列距离度量的方法

cutree_cols

列聚类数

treeheight_col

列聚类树的高度,默认为50

gaps_col

对列进行分割,就不应对相应的列进行聚类

#色度条参数

就是热图右上角那个小小的长方条

legend

逻辑值,是否显示色度条,默认为T

legend_breaks

显示多少个颜色数值段

legend_labels

对色度条上对应位置的字符进行修改

#注释条

annotation_colors

对标签的颜色进行修改

annotation_legend

是否显示标签注释条

annotation_row

数据框格式,用来定义热图所在行的注释条

annotation_names_row

逻辑值,是否显示行标签名称

annotation_col

数据框格式,用来定义热图所在列的注释条

annotation_names_col

逻辑值,是否显示列标签名称

#其他修改参数

main

设置图的标题

fontsize

是设置所有除主图以外的标签的大小

number_color

字体的颜色

show_rownames

是否显示行名

fontsize_row

行名的字体大小

labels_row

X轴坐标名设置

show_colnames

是否显示列名

fontsize_col

列名的字体大小

labels_col

y轴坐标名设置

经过小编一系列参数更改,修改如下:

#加载包

library(pheatmap) library(RColorBrewer)

#设置颜色

color.1 <- colorRampPalette(rev(c(“#ff0000”, “#000000”, “#00ff00”)))(100)

#注释条

#设置列的注释条

anno_col=data.frame(sampleType=factor(rep(c(“tumor”,”normal”),each=60)))

#与数据样本名对应 row.names(anno_col)=colnames(heatmap_data)#设置列的注释条的颜色 ann_color=list(sampleType=c(tumor=’#cd0000′,normal=’#3a5fcd’))

#绘图

pheatmap(heatmap_data,scale=”none”,color=color,annotation_col=anno_col,annotation_colors=ann_color,fontsize=8,show_colnames=F,main=”GSE19804:tumor vs normal heatmap”,legend_breaks=c(4,12),legend_labels=c(‘low’,’high’))

是不是已经比一开始使用默认参数好看多了呢?如下:

当然还有一些其他的用到不多的参数

留给读者自己去实验一下吧…

#小格子参数设置

热图是由一个个的小四方格子组成的,每一个小格子代表一个基因在一个样本内的表达情况

fontsize_number

小格子中数字大小

display_numbers

逻辑值,是否在小格子中显示数字

number_format

小格子中数字显示形式,但仅有在display_numbers=T时才能使用

na_col

设置小格子为缺失值时的颜色

cellwidth

表示每个小格子的宽度

cellheight

表示每个小格子的高度

#输出文件参数设置

一般可以直接将画好的热图以png格式或者pdf格式进行写出

filename

输出图画的文件名

width

输出图画的宽度

height

输出图画的高度

我们下期绘图再见~

原文链接:http://www.sci666.com.cn/17761.html

我来说两句

0 条评论
登录 后参与评论

相关文章

  • LinkedOmics在线工具

    今天给大家介绍一个闻着伤心听着落泪的网站,分析TCGA数据的工具这么多,我只服这一个,让人不得不感叹,做肿瘤真好!

    微点
  • R语言系列第三期:②R语言多组汇总及图形展示

    A. 事实上,我们在实验中或者调查之后的分析往往希望通过分组比较来获得有统计学意义的结果,因此分组数据在我们平常的工作中更加常见,也更加科学严谨,那么我们就来了...

    微点
  • 手把手教你用R下载TCGA数据:RTCGAToolbox

    各位朋友,大家好,今天,我们分享TCGA数据的最后一个R包,RTCGAToolbox。TCGA数据量庞大,数据种类丰富,分析方法复杂,对于大部分研究人员来说,从...

    微点
  • 使用pprof优化golang性能

    Donald E.Knuth说过一句非常著名的话,过早的优化是万恶之源。原文如下:

    我的小碗汤
  • Angularjs进阶笔记(2)-自定义指令中的数据绑定

    自定义指令,是Angularjs用来实现组件化的方式,相比于React和Vue的组件化方式,它真的很复杂,自定义指令太重了,它暴露了太多可供定制的参数,以至于普...

    大史不说话
  • Laravel源码解析之Cookie

    为了安全起见,Laravel 框架创建的所有 Cookie 都经过加密并使用一个认证码进行签名,这意味着如果客户端修改了它们则需要对其进行有效性验证。我们使用 ...

    KevinYan
  • 091023 T GIX4 项目中的 智能部署 和 智能客户端

    先说一下ClickOnce的使用方法: 先给一个要发布的工程设置安全和签名。然后发布到iis中。当用户访问该iis目录下的.application文件时,就会自...

    用户1172223
  • WCF服务端运行时架构体系详解[上篇]

    WCF的服务端架构体系又可以成为服务寄宿端架构体系。我们知道,对于一个基于某种类型的服务进行寄宿只需要使用到一个唯一的对象,那就是ServiceHost。甚至在...

    蒋金楠
  • Android硬件加速相关问题总结

    从Android 3.0开始就支持硬件加速,充分利用GPU的特性,使得绘制View的时候更加平滑。例如在ListView(GridView)或者WebView中...

    阳仔
  • Python操作docx文档设置居中并创建表格

    功能描述:本文代码使用python-docx操作docx文档,添加一段文字并设置居中对齐,添加一个表格并为所有单元格设置文字。 from docx impor...

    Python小屋屋主

扫码关注云+社区

领取腾讯云代金券