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

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

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

第一步,绘制成普通热图:

数据格式

#读取数据

rt=read.table("diffmRNAExp.txt",sep="\t",header=T,check.names=F)

#第一列为行名

rownames(rt) = rt[,1]

#去掉行名,将表达量取均值

rt = rt[,-1]
rt=log10(rt+1)

#加载R包

library(ggplot2) library(pheatmap)

#绘制热图

pheatmap(rt,scale = "row",cluster_row =T,cluster_col =F,show_rownames=F,color = colorRampPalette(colors = ("blue","white","red"))(102))

第二步,右边的颜色尺度范围默认是(-20,20),通过设置自行调整,比如说调整成(-4,4)。

bk <- c(seq(-4,-0.1,by=0.01),seq(0,4,by=0.01))
pheatmap(rt,scale = "row",cluster_row =T,cluster_col =F,show_rownames=F,
color=c(colorRampPalette(colors=c("blue","white"))(length(bk)/2),colorRampPalette(color=c("white","red"))(length(bk)/2)),fontsize=8,fontsize_row=4,legend_breaks=seq(-4,4,2),breaks=bk)

第三,添加分组,这里我们分别对行和列分别添加分组为例,如样本为T和N,而基因分为上调和下调。

annotation_row=read.table("group.txt",sep="\t",header=T)
annotation_col=read.table("group1.txt",sep="\t",header=T)
row_anno=data.frame(Type=annotation_row$type,row.names=annotation_row$gene)
col_anno=data.frame(Group=annotation_col$mm,row.names=colnames(rt))
分组

的格式文件如下:

pheatmap(rt,scale = "row",cluster_row =T,cluster_col =F,show_rownames=F,annotation_row=row_anno,annotation_col=col_anno,   color = c(colorRampPalette(colors = c("blue","white"))(length(bk)/2),colorRampPalette(colors = c("white","red"))(length(bk)/2)),fontsize=8,fontsize_row=4,legend_breaks=seq(-4,4,2),breaks=bk)

看到这里可能有的人说,里面分组的颜色太丑了,想换掉行不行?当然是可以的

ann_colors = list(Type=c("up"="red","down"="blue"),Group=c("N"="blue","T"="red"))
tiff(file="heatmap-1.tiff",width = 10,height =10,units ="cm",compression="lzw",bg="white",res=500)
pheatmap(rt,scale = "row",cluster_row =T,cluster_col =F,show_rownames=F,annotation_row=row_anno,annotation_col=col_anno,clustering_column_method = "complete",show_colnames=F,main="lncRNA",annotation_colors =ann_colors,color = c(colorRampPalette(colors = c("blue","white"))(length(bk)/2),colorRampPalette(colors = c("white","red"))(length(bk)/2)),fontsize=8,fontsize_row=4,legend_breaks=seq(-4,4,2),breaks=bk)

这里我只是以红色和蓝色为例,大家可以换成自己想要的颜色!

图片:
普通的热图
在这里插入图片描述
我们想要绘制的形式
在这里插入图片描述

数据格式
在这里插入图片描述
修改右边的标尺
在这里插入图片描述
添加分组在这里插入图修改右边的标尺片描述在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/22289.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

unity可视化图表插件XCharts绘制折线图、饼图、柱状图

一、简介 一款基于UGUI的功能强大、易用、参数可配置的数据可视化图表插件。支持折线图、柱状图、饼图、雷达图、散点图、热力图等常见图表。 特性&#xff1a; 内置丰富示例和模板&#xff0c;参数可视化配置&#xff0c;效果实时预览&#xff0c;纯代码绘制。 支持折线图、柱…

日语学习软件推荐——五十音图APP:AI纠正你的日语发音

每个自学日语的人&#xff0c;想必都经历过“哑巴日语”的苦恼。收集了很多学习资料&#xff0c;努力积累词汇量&#xff0c;一开口却暴露了“散装口语”的短板。 但是现在就不怕这个问题啦&#xff0c;五十音图APP可以让你从入门开始&#xff0c;练就一口流利的地道日语&…

白痴学日语系列之初识日语(二)

每日记单词 間[あいだ]0 a i da 间&#xff0c;间隔 【记】あい&#xff08;合い→互相之间&#xff09;だ&#xff08;是&#xff09;→间隔 青[あお]1 a o 蓝色&#xff1b;青色&#xff1b;绿色&#xff1b;不成熟 【记】あ&#xff08;上&#xff09;お&#xff08;う→…

新标日语学习笔记

文章目录 新标日语学习笔记第一章 日语入门1.1 五十音1.2 日语声调1.2.1 声调理解1.2.2 高低音发音1.2.3 简单的高低音发音练习 1.3 浊音和长音1.3.1 浊音1.3.2 长音 1.4 促音和拗音 第二章 课文与笔记2.1 小李是中国人2.1.1 单词2.1.2 语法 新标日语学习笔记 第一章 日语入门…

日语语音识别_日语语音识别软件_日语语音识别在线 - 云+社区 - 腾讯云

广告关闭 腾讯云双11爆品提前享&#xff0c;精选热门产品助力上云&#xff0c;云服务器首年88元起&#xff0c;买的越多返的越多&#xff0c;最高满返5000元&#xff01; 语气词过滤和句末标点过滤用户自主选择功能 新功能发布录音文件识别产品上线音视频领域模型 新功能发布…

C++制作一款小黑子键盘提示音程序

不好意思我漏出鸡脚了。 首先讲一下思路&#xff0c;这次制作的小黑子相当于键盘提示音&#xff0c;输入J,N,T,M&#xff0c;会发出“鸡你太美”的声音&#xff0c;连续按下JNTM则会发出“你干嘛啊&#xff0c;哎呦”的声音。 完整的工程和代码以及成品已经上传至百度网盘&…

只因小黑子:css动画复习

小黑子的css动画复习 css动画1. transiton 动画过渡1.1 transiton: 某属性1.2 transiton: all2. 动画过渡类型3. 动画过渡单一属性4. transform 2d属性4.1 translate 平移一、translateX(参数) 水平平移二、translateY(参数) 上下平移三、translate(a,b) 水平&#xff0c;上下平…

小黑子的HTML入土过程

小黑子的HTML入土过程 1. HTMLCSS系列教程第一章1.1 了解什么是HTML和CSS1.2 编译器VS Code1.2.1 下载方式和设置1.2.2 VS Code的快捷键基础用法 1.3 了解网页开发1.4 Web前端的三大核心技术1.5 HTML的基本结构和属性1.6 HTML的初始代码1.7 HTML的注释1.8 HTML的语义化1.9 标题…

Python画图之小黑子头像

效果演示 &#x1f438;真爱粉必备知识 倍速*2.0 实现步骤 设置窗口大小和绘画速度。用 penup() 和 goto() 来定位&#xff0c;画出领子和衣服&#xff0c;使用 fillcolor() 和 begin_fill() 开始填充颜色。用 pensize() 和 pencolor() 来调整线条的大小和颜色&#xff0c;画…

用 ChatGPT 秒建大模型,OpenAI 全新插件杀疯了,接入代码解释器一键 get

ChatGPT 可以联网后&#xff0c;OpenAI 还火速介绍了一款代码生成器&#xff0c;在这个插件的加持下&#xff0c;ChatGPT 甚至可以自己生成机器学习模型了。 上周五&#xff0c;OpenAI 刚刚宣布了惊爆的消息&#xff0c;ChatGPT 可以联网&#xff0c;接入第三方插件了&#xf…

什么是元宇宙,什么是AI,什么是chatgpt?什么是星云虚境?

随着现代科技的发展&#xff0c;元宇宙已经不再是科幻电影中的概念&#xff0c;而是逐渐变得真实起来。元宇宙是极为先进的数字世界&#xff0c;它需要人工智能、虚拟现实、区块链、云计算等多种技术的支持。在这个数字空间中&#xff0c;人们可以体验到比现实生活更丰富、更多…

元宇宙大爆炸:开发元宇宙是互联网的接替者?

美国游戏引擎公司Epic Games的创始人CEO蒂姆斯威尼&#xff08;Tim Sweeney&#xff09;宣称&#xff0c;玩家已经可以通过风靡的《堡垒之夜》聚集“元宇宙”的虚拟世界中。近期&#xff0c;美国超人气歌手Ariana Grande在全球不同地区&#xff0c;连续举办了5场演唱会&#xf…

“抢滩”元宇宙:不只Facebook和腾讯

来源 | 01区块链 责编 | Carol Facebook创始人兼首席执行官马克扎克伯格在2021年6月底表示&#xff0c;该公司的未来规划远不止是社交媒体&#xff0c;而是筑造一个元宇宙。扎克伯克宣称&#xff0c;希望在未来用5年左右的时间&#xff0c;将Facebook打造为一家元宇宙公司。 20…

元宇宙GOD新纪元打通元宇宙

J,F,4.5.9.9.9 区块链技术诞生至今已经有十余年了。在国内外不同团队的大力推动下&#xff0c;区块链项目层出不穷&#xff0c;但是对于生活的赋能作用并没有很好地体现出来。区块链技术是一项伟大的革命&#xff0c;但是一项技术如果不能投入实用&#xff0c;和各领域的应用结…

科技新浪推前浪 ChatGPT将元宇宙“拍在沙滩上”?

近期ChatGPT的热度显然已经盖过了元宇宙&#xff0c;回想去年元宇宙大热之际&#xff0c;很多企业纷纷跟进&#xff0c;甚至还有不少公司选择更名以表达All In元宇宙的决心。而如今ChatGPT抢占风头&#xff0c;成为新宠&#xff0c;元宇宙似乎被“抛弃”了&#xff0c;难道元宇…

巴比特 | 元宇宙每日必读:ChatGPT的火热与当年元宇宙的爆火故事如出一辙,科技巨头为何总是喜新厌旧?...

摘要&#xff1a;几乎所有公司都在想方设法与ChatGPT攀上关系&#xff0c;几乎人人都在关注、讨论、试用ChatGPT时&#xff0c;谁还记得Roblox、Clubhouse&#xff1f;Roblox是ChatGPT之前的全球顶流&#xff0c;带火了元宇宙&#xff1b;Clubhouse在Roblox之前也曾短暂红遍全球…

ChatGPT提示词工程(三):Summarizing概括总结

目录 一、说明二、安装环境三、概括总结&#xff08;Summarizing&#xff09;1. 简单地概括总结&#xff0c;只有字数限制2. 概括总结需要关注的某些点 四、用“提取”代替“总结”&#xff08;Try "extract" instead of "summarize"&#xff09;五、概括总…

微信小程序自定义tabbar,custom-tab-bar

背景&#xff1a; 由于需要按权限配置底部tabbar&#xff0c;所以需要用到自定义&#xff0c;微信官方文档自定义 tabBar 1. 配置信息 在 app.json 中的 tabBar 项指定 custom 字段&#xff0c;同时其余 tabBar 相关配置也补充完整 {"tabBar": {"custom": …

微信小程序开发 一 tabbar图标和颜色

前期准备 &#xff1a;注册&#xff0c;填材料&#xff0c;验证等等&#xff1a; https://mp.weixin.qq.com1.浏览一遍简易教程&#xff0c;下载相应的开发工具 写一个小例子 点击左侧的 “编辑”-》点击右侧代码里的 app.json 修改为 {"pages":["pages/fig…