pheatmap热图绘制详述

【R语言】——pheatmap包绘制聚类热图1(保姆级教程) 通常,热图是对所获得的数据或其他因素进行归一化处理后,用颜色的变化来直观表示不同样本间的变化情况。本质上其是由一个个用预设颜色表示数值大小的小方格组成的数据矩阵,并通过对因子或样本的聚类,观察不同样品数据间的相似性。常用的绘图软件:origin,excel,Tbtools,GraphPadPrismR语言绘制聚类热图的R包:pheatmap,heatmap,corrplot,complexHeatmap 其中,pheatmap是R语言中使用最广泛的用于绘制聚类热图的绘图包。使用该绘图包可以帮助我 阅读详情
# 创建测试矩阵 ----------------------------------------------------------------
library(pheatmap)  # 加载pheatmap热图绘制包

# 生成一个20行10列的随机矩阵,数据符合标准正态分布
test = matrix(rnorm(200), 20, 10)

# 对前10行的奇数列(1,3,5,7,9列)增加3个单位(制造行分组模式)
test[1:10, seq(1, 10, 2)] = test[1:10, seq(1, 10, 2)] + 3

# 对11-20行的偶数列(2,4,6,8,10列)增加2个单位(制造列分组模式)
test[11:20, seq(2, 10, 2)] = test[11:20, seq(2, 10, 2)] + 2

# 对15-20行的偶列再增加4个单位(创建子分组模式)
test[15:20, seq(2, 10, 2)] = test[15:20, seq(2, 10, 2)] + 4

# 设置列名为Test1-Test10
colnames(test) = paste("Test", 1:10, sep = "")

# 设置行名为Gene1-Gene20
rownames(test) = paste("Gene", 1:20, sep = "")


# 绘制基础热图 ----------------------------------------------------------------
pheatmap(test)  # 绘制默认热图,包含行列聚类


# 进阶热图参数演示 ------------------------------------------------------------
# 使用k均值聚类分为2组
pheatmap(test, kmeans_k = 2)

# 按行标准化数据,使用相关性作为聚类距离
pheatmap(test, scale = "row", clustering_distance_rows = "correlation")

# 自定义颜色梯度:从深蓝到白到火红,生成50个过渡色
pheatmap(test, color = colorRampPalette(c("navy", "white", "firebrick3"))(50))

# 关闭行聚类(保留列聚类)
pheatmap(test, cluster_row = FALSE)

# 隐藏图例
pheatmap(test, legend = FALSE)


# 单元格内显示文本 ----------------------------------------------------------
# 显示原始数值(默认格式)
pheatmap(test, display_numbers = TRUE)

# 用科学记数法显示数字(保留1位小数),若用"%.2f"则显示两位小数
pheatmap(test, display_numbers = TRUE, number_format = "%.1e")

# 条件显示符号:当值>5时显示*号
pheatmap(test, display_numbers = matrix(ifelse(test > 5, "*", ""), nrow(test)))

# 自定义图例标签:将连续型图例改为分类标签显示
pheatmap(test, cluster_row = FALSE, 
         legend_breaks = -1:4, 
         legend_labels = c("0","1e-4", "1e-3", "1e-2", "1e-1", "1"))


# 单元格尺寸控制与保存 --------------------------------------------------------
# 固定单元格宽高,添加标题
pheatmap(test, cellwidth = 15, cellheight = 12, main = "Example heatmap")

# 保存为PDF文件(自动调整页面尺寸),设置字体大小
pheatmap(test, cellwidth = 15, cellheight = 12, 
         fontsize = 8, filename = "test.pdf")


# 创建行列注释数据 ----------------------------------------------------------
# 列注释:包含细胞类型(CT1/CT2交替)和时间序列
annotation_col = data.frame(
  CellType = factor(rep(c("CT1", "CT2"), 5)),  # 交替重复5次
  Time = 1:5  # 时间1-5
)
rownames(annotation_col) = paste("Test", 1:10, sep = "")  # 匹配列名

# 行注释:基因分类(前10个Path1,中间4个Path2,最后6个Path3)
annotation_row = data.frame(
  GeneClass = factor(rep(c("Path1", "Path2", "Path3"), c(10, 4, 6)))
)
rownames(annotation_row) = paste("Gene", 1:20, sep = "")  # 匹配行名


# 显示注释的热图 ------------------------------------------------------------
# 仅显示列注释
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)


# 调整文本角度 --------------------------------------------------------------
# 列标签旋转45度
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"),  # 指定CT1/CT2颜色
  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)


# 添加热图间隔 --------------------------------------------------------------
# 关闭行聚类,在10和14行处添加横向间隔(根据GeneClass分组)
pheatmap(test, annotation_col = annotation_col, 
         cluster_rows = FALSE, gaps_row = c(10, 14))

# 同时横向切割列为2组
pheatmap(test, annotation_col = annotation_col, 
         cluster_rows = FALSE, gaps_row = c(10, 14), 
         cutree_col = 2)


# 自定义行列标签 ------------------------------------------------------------
# 仅显示最后三个基因名称(其他为空)
labels_row = c(rep("", 17), "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)  # 列聚类距离
R 数据可视化 —— 聚类热图 pheatmap 在前面的章节中,我们介绍了如何使用ggplot2绘制热图ggplot2绘制热图的方式很多,如geom_tile等但通常仅仅绘制热图是不够的,还需要对数据进行聚类,即绘制聚类热图。例如,最常用的就是将差异基因的表达值绘制聚类热图,来查看基因在不同样本中的表达差异情况,或者比较不同聚类分组之间的差异。绘制聚类热图的包有很多,我们主要介绍pheatmap和。 阅读详情

相关推荐

R语言pheatmap包绘制热图全解析:从入门到高级定制(附完整代码)

本文详细介绍了如何使用R语言的pheatmap包绘制热图,涵盖从环境准备到进阶功能的全流程。首先,文章指导如何安装和加载pheatmap包,并生成模拟数据进行标准化处理。接着,讲解了基础热图的绘制方法,包括是否进行聚类、调整聚类方法与距离度量等。进阶部分则涉及颜色与单元格的调整、添加行列注释、热图分面与数值显示等技巧。最后,提供了一个完整的代码示例,帮助读者快速掌握热图绘制的各项功能。通过本文,即使是新手也能轻松上手热图绘制,适用于基因表达分析、市场数据对比等多种场景。

weixin_47425354的博客 5183

R:热图解释 | pheatmap包参数及详细聚类图绘制流程(一篇解决热图绘制问题)

一文解释pheatmap绘制热图的常见问题

跳动的喵尾巴 5万+

R语言绘制热图实践(一)pheatmap包

R语言绘制热图实践 (一)pheatmap前言pheatmap包pheatmap简介常用参数介绍使用安装绘制样本间相关系数图(简单使用)差异表达基因热图(进阶使用)pheatmap总结corrplot包参考资料 前言 在生信分析中,我们常常需要计算一个样本的几次实验结果或者不同样本实验结果的相关系数(样本间相关系数)以判断几个数据集之间相关的程度。 在本篇中及之后的内容中,为了用R得到相关系数热图...

暴躁的搬砖工… 8万+

R绘制带显著性标记的热图

今天小编接着来介绍R绘制带有显著性的热图。 测试数据文件: ①table1.txt ②col_group.txt ③row_group.txt 1.导入pheatmap包,读取数据; #导入包 library(pheatmap) #读取数据 data<-read.table("table1.txt",header=T,row.names = 1,sep="\t") 2.直接作图; #直接作图 pheatmap(data) 3.对相关参数指标进行调整; # scale = "row"参数对行

weifanbio的博客 6668

R语言绘制热图——pheatmap

pheatmap: Pretty Heatmaps——Implementation of heatmaps that offers more control over dimensions and appearance. library(pheatmap) #创建数据集test测试矩阵 test = matrix(rnorm(200), 20, 10) test[1:10, seq(1, 10,

宁生信 18万+

R语言绘制热图(pheatmap包)

R语言绘制热图(pheatmap包)

weixin_42837744的博客 4583

Pheatmap热图的绘制及如何调整图片

Pheatmap热图的绘制及如何调整图片 Pheatmap包是R语言绘制热图比较强大的软件包,当然现在也有很多资料介绍这个包的使用,但是今天我写的重点不是如何使用这个包绘制热图,而是如何绘制出更好看的热图。(我使用的矩阵是1663x594),下面的左图和右图来源于同一个数据。明显可以看出左图更加直观和美观。那么绘制左图的步骤主要分下面三步: 第一步,绘制成普通热图: 数据格式 #读取数据 rt=r...

weixin_43949246的博客 1万+

pheatmap:绘制聚类热图的函数

该函数还允许使用 kmeans 聚类聚合行。如果行数太大,以至于 R 无法再处理其分层聚类,大约超过 1000 行,则建议这样做。与其单独显示所有行,不如提前对行进行聚类,并仅显示聚类中心。可以通过参数kmeans_k调整集群的数量。来源:https://www.rdocumentation.org/packages/pheatmap/versions/1.0.12/topics/pheatmap。一个绘制聚类热图的函数,可以更好地控制一些图形参数,如单元大小等。Examples 例子。

ranshan_的博客 1003

利用R语言中pheatmap绘制热图

利用R语言中pheatmap绘制热图

hgz2020的博客 1万+

r语言热图对列不进行聚类_R语言绘图 | 使用pheatmap快速绘制热图

欢迎关注微信公众号“生信小王子”!热图是我们展示数据时常用的图形,今天小编教大家使用"pheatmap" 快速绘制热图。首先,我们需要准备输入文件。比如,我想绘制热图来比较30个基因在6个组织里的表达情况。如图所示,第一列为基因名,第一行为不同组织的名称,整理好后保存为制表符分隔的txt格式,准备好输入文件后我们就可以开始绘制热图啦。## 安装R包 install.packages("pheatm...

weixin_29065015的博客 2292

微信本地数据解密实战:从AES加密原理到EnMicroMsg.db恢复指南

数据加密是保障信息安全的核心技术,其中对称加密算法AES因其高效可靠,被广泛应用于各类本地数据保护场景。其原理是通过特定密钥对数据进行混淆转换,确保未经授权者无法读取原始内容。在移动应用领域,本地数据库加密对于保护用户隐私、防止数据泄露具有重要价值。微信作为国民级应用,对其本地存储的聊天记录数据库(EnMicroMsg.db)采用了基于设备标识和用户UIN生成的AES-256-CBC加密方案。理解这一机制,不仅有助于在合法合规前提下进行个人数据备份与恢复,也为开发者进行客户端安全分析、兼容工具开发提供了基础

weixin_30764883的博客 570

pheatmap绘制热图

pheatmap绘制热图

weixin_45694863的博客 2522

PCB布线避坑指南:为什么你的差分线等长总调不好?AD19蛇形等长技巧详解

本文详细解析了AD19环境下PCB差分线等长调整的核心技巧与常见问题。从差分信号等长的底层逻辑到AD19规则配置,再到蛇形等长高级技巧和信号完整性验证,帮助工程师解决差分线等长调整中的难题,提升高速PCB设计的信号质量。

weixin_28738397的博客 382

pheatmap包绘制简单热图_2020-02-14

## 1.设置当前工作目录 setwd("./pheatmap/") ## 2.安装和导入R包 install.packages("pheatmap") library(pheatmap) ## 3.R包:pheatmap简要信息 # Package: pheatmap # Type: Package # Title: Pretty Heatmaps # Version: 1.0....

孤星夜神的博客 1536

Qt快速读取Excel文件

网上很多读取方式都是如下形式,太慢了,打开文件+读取文件要6s以上,实在是受不了! QAxObject excel("Excel.Application"); excel.setProperty("Visible", false); QAxObject *work_books = excel.querySubObject("WorkBooks"); work_boo...

c+c++的博客 2万+

Windows环境下Elasticsearch与JDK版本兼容性实战指南

本文详细解析了Windows环境下Elasticsearch与JDK版本的兼容性问题,提供了从版本匹配检查到安装部署的完整实战指南。重点介绍了Elasticsearch 8.x需JDK 17+等关键版本对应关系,并分享多版本JDK共存方案及性能优化技巧,帮助开发者高效避坑。

weixin_29250403的博客 421

代码+视频,R语言pheatmap包绘制热图

既往在文章《R语言pheatmap包绘制热图》中,咱们介绍了pheatmap包绘制热图,今天咱们视频+代码来演示一下。热图就是使用颜色来表示数据相关性的图。R语言pheatmap包绘制热图。

dege857的博客 843

菲涅尔波带片

菲涅尔波带片的简介,以及matlab绘制

Bestchinese的博客 1万+

pheatmap进行热图绘制

初始的代谢组数据如下 用R包 pheatmap处理 rm(list=ls()) library(pheatmap) X = read.csv("C:/Users/tangxing/Desktop/111.csv",header = T) rownames(X) <- X[,1] #将行名设置为列表的行名 X <- X[,-1] # 去掉第一行 X<-log(X,10) # ...

mym_74的博客 1862

Unity与iOS原生交互实战指南

C#(DllImport) → C 接口(extern "C") → Objective‑C / SwiftObjective‑C → UnitySendMessage → C#(GameObject + public 方法)在写.mm文件;在里面写;C# 用声明;调用它,参数就是 string / 数值等;在.mm里做你想做的 iOS 原生操作。在 Unity 里准备一个常驻 GameObject,比如;上面挂一个脚本,写;在 iOS 插件中用;

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 1357

TI硬件笔试面试题型解析上

摘要: 本专栏聚焦大厂硬件笔试面试题解析,当前第14期以德州仪器(TI)为例,涵盖模拟电路与数字电路核心考点。模拟电路部分涉及最大功率传递定理、运放设计(虚短/虚断)、共模抑制比(CMRR)及高频PCB信号完整性;数字电路包括CMOS与TTL对比、建立/保持时间、竞争冒险消除、D触发器分频及“线与”逻辑实现。文章强调通过例题掌握解题方法与知识点,助力读者应对硬件工程岗位的笔试与面试挑战,附常见考点总结与实用建议。全文注重理论与实践结合,提供典型题型解析与设计思路。(150字)

启芯硬件的博客 950

基因表达谱热图的绘制 pheatmap

基因表达谱热图的绘制 所需数据格式 1.数据的获取–从NCBI数据库下载基因表达谱数据 2.数据整理–将所有下载的基因表达谱数据放在一个Excel里,如下 再转成文本文档(grain2.txt)。 3.R语言绘制热图(直接复制>后的代码) getwd() 查看当前工作目录 setwd(“D:/1-R/myfile/file4”)将工作目录设为grain2文本所在文件夹 install.packages(‘pheatmap’) data<-read.table(“grain2.txt”,head

生信小博士的博客 3506

华为OD机试 新系统真题 【数字系统转换器】

华为OD机试 新系统真题【数字系统转换器】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【数字系统转换器】多语言题解。

qq_45776114的博客 540

R语言pheatmap包绘制热图

热图就是使用颜色来表示数据相关性的图。能绘制热图的R包很多,今天我们来介绍pheatmap包,这个包的特点是简单易学,图片精美。

dege857的博客 5570

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【R语言热图绘制终极指南】:掌握pheatmap聚类技巧,快速生成高质量可视化图表

掌握R语言pheatmap绘制热图聚类技巧,快速实现基因表达数据等多维信息可视化。详解聚类方法、颜色调节与注释添加,提升图表专业度。操作简洁,结果直观,科研绘图必备技能,值得收藏。

LogicPlex的博客 1282

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: R语言操作n
下一篇: matlab编程练习
zhanghongyi_cpp
博客等级 码龄4年 2458粉丝 413原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值