专栏名称: 迈维代谢MetWare
武汉迈特维尔生物科技有限公司(简称“迈维代谢”)位于武汉国家生物产业基地--光谷生物城,专注于提供领先的代谢组学技术开发及服务。迈维代谢将致力于利用代谢组学科技助推生命科学研究,改善人类健康。
目录
相关文章推荐
51好读  ›  专栏  ›  迈维代谢MetWare

干货 | 教你如何绘制简单又好看的热图

迈维代谢MetWare  · 公众号  ·  · 2021-01-27 13:30

正文

请到「今天看啥」查看全文



聚类热图作为目前最常见的一种可视化手段,热图因其丰富的色彩变化和生动饱满的信息表达被广泛应用于各种数据分析场景。因此,绘制热图成了相关从业者的一项必备技能。本文将用 R 语言和 Excel 尽可能简单的教你画一张好看的热图。


常规热图


01

第一步:安装和加载 R 包

install.packages( "pheatmap" ) #安装R包

library(pheatmap) #绘制热图的包

library(RColorBrewer) #定义颜色的包


02

第二步:读取数据

03

第三步:画图

file=pheatmap(inDF[, - 1 ]) #因为此时第一列为类别,不是数字,所以此时将这一列去掉



此时你就得到了一张简单的热图,是不是觉得很丑?是的,我也这么觉得。下面我们简单优化一下。

上面的颜色是不是看着完全分不清差异?因为我们最大值和最小值相差太大,我们需要 对数据进行归一化处理 ,这里我们按行对数据归一化, scale = "row" 。

上面是不是有一块灰色的和其他的格格不入?因为那是缺失值,没有合适的颜色给他,既然如此,我们手动给他指定一个颜色, na_col = "black"。当然您也可以在原始数据中为他填充一个值(缺失值的填充您可以 点击这里 了解更多)。

file=pheatmap(inDF[, - 1 ],na_col = "black" ,scale = "row" )

现在你就得到了一张比刚刚好看得多的热图



有人说这个颜色我看着不习惯,我想 自定义 一下。可以,简单。color=colorRampPalette(strsplit("green,white,red",split = ",")[[1]])(round(100)) ,自己定义虽然可以个性化但是去思考用什么颜色是一件很麻烦的事,所以我们直接使用别人定义好的。

color = colorRampPalette(rev(brewer.pal(n=11, name='RdYlGn')))(round(100))

还有人说我 只想对横坐标进行聚类,不想对纵坐标进行聚类 ,可以。cluster_rows=T,cluster_cols=F。

file = pheatmap(inDF[, - 1 ],color = colorRampPalette(rev(brewer.pal(n = 11 , name ='RdYlGn' )))(round( 100 )),cluster_rows = T,cluster_cols = F,na_col = "black" ,scale = "row" )


此时有人说我的列名是有分组的,我想 分颜色显示 。ok,不仅可以分颜色显示还可以自定义颜色。顺便帮你把 列也分个组 吧。


此函数的参数较多,可以进行细节调整,完整参数请复制链接:

https://cran.r-project.org/web/packages/pheatmap/pheatmap.pdf 至浏览器查看官方文档。

本文完整代码及注释如下:


交互式热图


交互式热图为 html 的网页文件,使用浏览器打开后将鼠标移动至小方块上可以显示对应的值和横纵坐标,且可以 随意放大


迈维云平台


若您为迈维客户,您将拥有迈维云平台使用权限,里面有众多分析工具。复制链接: https://cloud.metware.cn/auth/login 至浏览器,登录后即可使用。

找到聚类热图工具点击并按照右侧详细说明准备好一份归一化后的数据上传提交即可获得一份热图。


Excel 画热图


若您只是单纯的 想用颜色表示一下每个值大小 ,如果仅仅是这样的话 Excel 就可以做到。


然后按照如图调整就可以得到一张用不同色块表示大小的图一张。


最后按照下图 隐藏数字


附录:在公号后台回复“热图教程”,即可获取文章原文以及完整版代码。




往期精彩:


微信:19945031409

电话:027-62433072

邮箱:[email protected]

网址:www.metware.cn







请到「今天看啥」查看全文


推荐文章
知群X可能性与大设计  ·  「连载4 」设立愿景:场景和设计需求
7 年前
kk汽车金融行业研究  ·  原创 | 经销商集团的汽车金融业务运营与管理
7 年前
kk汽车金融行业研究  ·  原创 | 经销商集团的汽车金融业务运营与管理
7 年前
香港储蓄与保障  ·  香港保险的监管与保监局的成立
7 年前