Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >热图绘制-pheatmap

热图绘制-pheatmap

原创
作者头像
Dr_Zhong
修改于 2021-05-25 02:27:42
修改于 2021-05-25 02:27:42
1.7K00
代码可运行
举报
文章被收录于专栏:生信学习笔记生信学习笔记
运行总次数:0
代码可运行

热图绘制-pheatmap

概述

新买的蓝牙耳机到了,试了试感觉还不错,低音也非常出色,窗外的颜色变得丰富了起来,看着街角那家咖啡店,仿佛回到了昨天,血色染红的天空在斑斓的世界之上,我匆匆茫茫的写下“这把火在我心底永远不会熄灭”。

代码

安装和调用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
install.packages("pheatmap")
library(pheatmap)
# 建立测试数据集
test = matrix(rnorm(200), 20, 10)
test[1:10, seq(1, 10, 2)] = test[1:10, seq(1, 10, 2)] + 3
test[11:20, seq(2, 10, 2)] = test[11:20, seq(2, 10, 2)] + 2
test[15:20, seq(2, 10, 2)] = test[15:20, seq(2, 10, 2)] + 4
# 重命名列和行,列为名,行位基因
colnames(test) = paste("Test", 1:10, sep = "")
rownames(test) = paste("Gene", 1:20, sep = "")

# 结果为2010列的数据集
# 绘图
pheatmap(test)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 进行聚合,聚为2
pheatmap(test, kmeans_k = 2)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 是否进行标准化,距离的选择
pheatmap(test, scale = "row", clustering_distance_rows = "correlation")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 颜色调试
pheatmap(test, color = colorRampPalette(c("navy", "white", "firebrick3"))(50))
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 是否对行进行聚类
pheatmap(test, cluster_row = FALSE)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 是否显示图例
pheatmap(test, legend = FALSE)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# cells中显示数值
pheatmap(test, display_numbers = TRUE)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 数字的格式
pheatmap(test, display_numbers = TRUE, number_format = "\ %.1e")
# 对于大于5的cells加星号
pheatmap(test, display_numbers = matrix(ifelse(test > 5, "*", ""), nrow(test)))

后面涉及一些微小的改变,就不粘贴图片了,有兴趣可以粘贴代码去试试

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 对于图例进行调整
pheatmap(test, cluster_row = FALSE, legend_breaks = -1:4, legend_labels = c("0","1e-4", "1e-3", "1e-2", "1e-1", "1"))

# 建立注释集
annotation_col = data.frame(
  CellType = factor(rep(c("CT1", "CT2"), 5)),
  Time = 1:5)
rownames(annotation_col) = paste("Test", 1:10, sep = "")
annotation_row = data.frame(
  GeneClass = factor(rep(c("Path1", "Path2", "Path3"), c(10, 4, 6))))
rownames(annotation_row) = paste("Gene", 1:20, sep = "")


annotation_row
# 显示行和颜色注释
pheatmap(test, annotation_col = annotation_col)
# 去掉注释图例
pheatmap(test, annotation_col = annotation_col, annotation_legend = FALSE)
# 注释行
pheatmap(test, annotation_col = annotation_col, annotation_row = annotation_row)

# 更改列中字符的角度
pheatmap(test, annotation_col = annotation_col, annotation_row = annotation_row, angle_col = "45")
# 更改列角度为0
pheatmap(test, annotation_col = annotation_col, angle_col = "0")

# 建立颜色数据集
ann_colors = list(
  Time = c("white", "firebrick"),
  CellType = c(CT1 = "#1B9E77", CT2 = "#D95F02"),
  GeneClass = c(Path1 = "#7570B3", Path2 = "#E7298A", Path3 = "#66A61E"))
# 注释颜色
pheatmap(test, annotation_col = annotation_col, annotation_colors = ann_colors, main = "Title")
pheatmap(test, annotation_col = annotation_col, annotation_row = annotation_row,annotation_colors = ann_colors)
pheatmap(test, annotation_col = annotation_col, annotation_colors = ann_colors[2])

# 增加一个gap
pheatmap(test, annotation_col = annotation_col, cluster_rows = FALSE, gaps_row = c(10, 14))
pheatmap(test, annotation_col = annotation_col, cluster_rows = FALSE, gaps_row = c(10, 14),cutree_col = 2)

# 自定义行名
labels_row = c("", "", "", "", "", "", "", "", "", "", "", "", "", "", "","", "", "Il10", "Il15", "Il1b")
pheatmap(test, annotation_col = annotation_col, labels_row = labels_row)

# 指定聚类的方法
drows = dist(test, method = "minkowski")
dcols = dist(t(test), method = "minkowski")
pheatmap(test, clustering_distance_rows = drows, clustering_distance_cols = dcols)

结束语

每一个pheatmap函数都可生成一个图片,合适自己的才是最好的

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
作者已关闭评论
暂无评论
推荐阅读
编辑精选文章
换一批
pheatmap|暴雨暂歇,“热图”来袭!!!
热图可以聚合大量的数据,并可以用一种渐进色来优雅地表现,可以很直观地展现数据的疏密程度或频率高低。
生信补给站
2020/08/06
1.4K0
从 pheatmap 无缝迁移至 ComplexHeatmap
pheatmap 是一个非常受欢迎的绘制热图的 R 包。ComplexHeatmap 包即是受之启发而来。你可以发现Heatmap()函数中很多参数都与pheatmap()相同。在 pheatmap 的时代(请允许我这么说),pheatmap 意思是 pretty heatmap,但是随着时间推进,技术发展,各种新的数据出现,pretty is no more pretty,我们需要更加复杂和更有效率的热图可视化方法对庞大的数据进行快速并且有效的解读,因此我开发并且一直维护和改进着 ComplexHeatmap 包。
章鱼猫先生
2021/10/15
1.1K0
从 pheatmap 无缝迁移至 ComplexHeatmap
R语言学习笔记-Day09
#Fix cell sizes and save to file with correct size
用户11190095
2024/07/17
1530
「Workshop」第十五期:热图
https://www.bilibili.com/video/BV1Pa4y1E7WS
王诗翔呀
2022/01/21
1.7K0
「Workshop」第十五期:热图
R 热图绘制heatmap②
使用pheatmap包绘制热图 一般而言,pheatmap较heatmap.2等更为简洁以及易于理解,对于初学者而言是一款不错的热图绘制软件。 rm(list=ls()) setwd("E:\\Rwork") library(pheatmap) #创建数据集test测试矩阵 test = matrix(rnorm(400), 20, 20) colnames(test) <- paste("sample",1:20,sep = "") rownames(test) <- paste("ge
用户1359560
2018/08/27
1.4K0
R 热图绘制heatmap②
留言整理~ggplot2实现一幅自己叫不上来名字的图
自己之前只用过pheatmap这个包做简单的热图,没有用到过ann_colors这个参数。
用户7010445
2020/04/27
7650
Pheatmap绘制热图(二)
随机生成,10个基因,每个基因4个处理,每个处理3个平行,表达量RPKM值在1-120之间,矩阵第一个RPKM数值为250:
黑妹的小屋
2020/08/06
2.6K0
热图pheatmap()函数
此次例子,我们选择了一套GEO数据库的肺癌数据,数据编号为GSE19804,120个样本,其中包含60个癌症样本和60个癌旁正常样本,前面我们使用t检验,并对p值进行BH校正,筛选fdr小于0.01的基因中前40个在癌症相对于正常样本中显著差异表达的基因进行热图绘制。
微点
2019/11/01
3.6K0
重现5.6分文章的免疫分型图
最近在做免疫浸润方面的分析,主要是重现5.6分文章《Classification of triple-negative breast cancers based on Immunogenomic profiling》的分析内容。其中有一张免疫分型的热图,非常的重要,通过该图(下图)可以发现,乳腺癌可以很好的分成3个免疫亚型。今天就教大家采用pheatmap 重现这张图。
作图丫
2022/03/28
1K0
重现5.6分文章的免疫分型图
绘图代码|10种绘制热图方法,你想要的全都有!
热图是生信分析中最常见的可视化数据的方法,它具有丰富的色彩变化,并且能生动饱满的进行信息表达。比如可视化基因表达、显著性P值等数据。R 在可视化方面也提供了一系列功能强大、覆盖全面的函数和工具包,今天小编就总结了一些易操作且美观的热图绘图方法,一起来学习一下吧
科研菌
2020/08/24
3.1K0
绘图代码|10种绘制热图方法,你想要的全都有!
R语言之heatmap绘制
source("http://biocoundctor.org/biocLite.R") biocLite("pheatmap")
一粒沙
2019/07/31
1.9K0
R语言之heatmap绘制
R 数据可视化 01 | 聚类热图
链接:https://pan.baidu.com/s/13l8UtKvvDxFWL8ikzq7vJw 提取码:ttb4
白墨石
2021/01/13
1.1K0
R 数据可视化 01 | 聚类热图
R语言画热图时图例(legend)过多超出画图边界
但是如果添加多组注释信息的话,他的图例是从上到下依次排列,如果太多图例就会超过绘图边界,比如
用户7010445
2020/05/14
11.7K0
表达芯片数据分析3——基因差异分析绘制火山图及差异基因热图
Erics blog
2023/10/02
7251
【画图】如何用画热图?
热图 就是很热的图,会冒火的那种~~~ 直接上代码 library(pheatmap) library(RColorBrewer) library(ggsci) library(DESeq2) vsd.T <- vst(dds, blind = FALSE) #选取差异基因做热图 resSig_P <- subset(res, abs(log2FoldChange)>1 & padj < 0.01) >mat.1 <- assay(vsd.T.1[rownames(resSig_P), ]) >mat.
Chris生命科学小站
2023/02/28
1.5K0
手把手带你复现NC图表之Figure 4
探究从肺泡和外膜成纤维细胞亚群(在对照组织中富集)到肌成纤维细胞(在肿瘤组织中富集)的分化过程,对scRNA-seq数据集进行轨迹推断。结果表明外膜和肺泡成纤维细胞可以作为独立的祖细胞,肌成纤维细胞可以从这些祖细胞转分化
生信技能树jimmy
2023/09/26
4960
手把手带你复现NC图表之Figure 4
跟着Nature学作图:R语言pheatmap包做热图并添加文本标注
https://github.com/GRONINGEN-MICROBIOME-CENTRE/DMP
用户7010445
2023/01/06
4.1K0
跟着Nature学作图:R语言pheatmap包做热图并添加文本标注
pheatmap绘制热图
画热图的包有很多个,热图的绘制是作为科研人员的基本素养,绘制热图的包我知道的有5个,heatmap函数、ggplot2包、gplot包、lattice包。今天初学pheatmap绘制热图,迫不及待的想要分享:
黑妹的小屋
2020/08/06
9470
巧用热图展示基因分布的总体趋势
热图是最常见的基因表达量数据的可视化方式,将每个单元格的表达量按照数值高低映射为不同的颜色,可以直观展示表达量在不同样本间的分布,再综合聚类的结果和基因/样本的注释信息,进一步丰富了展示的信息,一个经典的热图如下
生信修炼手册
2022/06/09
1.5K0
巧用热图展示基因分布的总体趋势
RNA-seq入门实战(四):差异分析前的准备——数据检查
连续两次求贤令:曾经我给你带来了十万用户,但现在祝你倒闭,以及 生信技能树知识整理实习生招募,让我走大运结识了几位优秀小伙伴!大家开始根据我的ngs组学视频进行一系列公共数据集分析实战,其中几个小伙伴让我非常惊喜,不需要怎么沟通和指导,就默默的完成了一个实战!
生信技能树
2022/07/26
2.6K1
RNA-seq入门实战(四):差异分析前的准备——数据检查
相关推荐
pheatmap|暴雨暂歇,“热图”来袭!!!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验