R 热图绘制heatmap②

简介: 使用pheatmap包绘制热图一般而言,pheatmap较heatmap.2等更为简洁以及易于理解,对于初学者而言是一款不错的热图绘制软件。rm(list=ls())setwd("E:\\Rwork")library(pheatmap) ...

使用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("gene", 1:20,sep = "")
test[1:10, seq(1, 20, 2)] = test[1:10, seq(1, 20, 2)] + 5 
test[11:20, seq(2, 20, 2)] = test[11:20, seq(2, 20, 2)] - 5 
pheatmap(test)  
img_f5dc2c73376bf75a5c5f1feff0c8e9ed.png
  • cluster_row = FALSE, cluster_col = FALSE
  • treeheight_row=0, treeheight_col=0
  
# 在热图格子里展示文本  
pheatmap(test, display_numbers = TRUE)  
pheatmap(test, display_numbers = TRUE, 
         number_format = "%.1e")  

img_06ade067139bbbb0abeb07a05e78786a.png

cluster_row = FALSE, cluster_col = FALSE是否聚类,#可设置参数display_numbers将数值显示在热图的格子中,可通过number_format设置数值的格式,较常用的有".2f"(保留小数点后两位),".1e"(科学计数法显示,保留小数点后一位),number_color设置显示内容的颜色:
pheatmap(test, display_numbers = TRUE, number_format = "%.2f", number_color="purple") #"%.2f"表示保留小数点后两位


#pheatmap还可以显示行或列的分组信息,支持多种分组;  
annotation_col = data.frame(sampleType = factor(rep(c("contol", "knockdown"),10)),
                            sampleclass = factor(rep(c("normal", "tumor"),10)),
                            samplecluster = factor(rep(c("invasive", "noninvasive"),10))) 
rownames(annotation_col) <- colnames(test)






annotation_row = data.frame(geneType = factor(rep(c("kegg1", "kegg2"),10)),
                           geneclass = factor(rep(c("go1", "go2"),10))
                          ) 
rownames(annotation_row) <- rownames(test)

pheatmap(test, annotation_col = annotation_col, 
         annotation_row = annotation_row,
         treeheight_row=0, treeheight_col=0,
         cutree_rows=3,cutree_cols=2) 

img_bc8292e42f9b74c2058057e80b9396cb.png

#pheatmap还能够根据特定的条件将热图分隔开;
# cutree_rows, cutree_cols:根据行列的聚类数将热图分隔开;
pheatmap(test,cutree_rows=2,cutree_cols=2)

img_1a524556d87b53627d86da17afab707d.png

#还可以自己设定各个分组的颜色  
ann_colors = list(sampleType = c(contol = "grey", knockdown = "black"), #连续数值型分组可设置成渐变  
                  sampleclass = c(normal = "#1B9E77", tumor= "#D95F02"))  
pheatmap(test, annotation_col = annotation_col, annotation_row = annotation_row,  
         annotation_colors = ann_colors)  

img_f34dee2f5c9e2fbbdbb93433a4c02cb8.png
目录
相关文章
|
JavaScript 前端开发
双向数据绑定是什么
双向数据绑定是什么
385 2
|
定位技术 iOS开发
iOS设备功能和框架: 如何使用 Core Location 获取设备的位置信息?
iOS设备功能和框架: 如何使用 Core Location 获取设备的位置信息?
614 0
|
7月前
|
存储 JavaScript 中间件
开箱即用的 GoWind Admin|风行,企业级前后端一体中后台框架:Casbin集成指南
GoWind Admin(风行)是企业级前后端一体中后台框架,集成Casbin实现灵活权限管理。支持RBAC、ABAC等模型,提供开箱即用的权限控制方案,助力构建安全可靠的中后台系统。
517 1
|
8月前
|
数据采集 物联网
RFID让马拉松时间采集更为精准
RFID技术助力马拉松精准计时,通过标签、读写器与天线系统自动采集数据,实现毫秒级准确记录起跑、分段及终点时间。系统消除人为误差,防止替跑作弊,提升赛事公平性与组织效率,广泛应用于各类赛事,推动体育智能化发展。
|
4月前
|
人工智能 安全 jenkins
软件测试简历这样写,HR一眼看中!附真实拿offer的简历模版
本文手把手教你打造高通过率的软件测试简历:聚焦2026年招聘趋势,拆解HR筛选逻辑(ATS系统+30秒速筛),详解5大核心模块——专业基础信息、STAR法则项目描述、分层技能展示、人设化自我评价及高频避坑指南,并附真实脱敏模板,助你精准匹配美团、字节等大厂岗位。
|
11月前
|
监控 数据可视化 机器人
直播间自动发言机器人,直播场控机器人免费版,快手抖音小红书哔哩哔哩工具
核心控制器采用异步IO架构,支持同时处理弹幕监控、自动回复和数据统计 实现多平台适配层,通过配置驱动支持抖音/快手/小红书/哔哩哔哩的差异化处理
|
5月前
|
存储 人工智能 API
给大模型配个“外接硬盘”!RAG架构全解析:企业级知识库搭建的终极指南
AI博主详解RAG技术:为大模型“接外挂”,破解幻觉难题。拆解T5-RAG、FiD、RAR三大流派原理与实战,手把手教搭专属知识库助手,附低代码落地方案。(239字)
416 1
|
存储 人工智能 自然语言处理
多模态RAG:三步构建图文并茂的智能问答、电商导购助手
本文介绍了如何使用OpenSearch LLM智能问答版,三步搭建一站式多模态RAG系统。
2470 9
|
人工智能 自然语言处理 测试技术
通义灵码入选 “2025 年值得关注的 AIGC 产品”,是唯一入选的 AI 编程产品
阿里云的通义灵码是一款基于通义大模型的AI编程助手,能够智能生成代码、优化结构、排查错误并自动生成测试用例,支持多种主流编程语言。在2025年入选《值得关注的AIGC产品》榜单,凭借卓越技术与广泛应用场景成为国内开发者首选。通义灵码已在国内多个行业落地,大幅提升开发效率与代码质量,同时针对中文编程场景优化,支持企业内网部署保障数据安全,推动AI编程技术在教育与科研领域的创新应用。
|
缓存 安全 Linux
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
3873 23