r语言ggplot2一夜多图_R语言ggplot2画四方形的热图展示相关系数的简单小例子
R语言里画热图通常会使用
pheatmap
这个包。如果想使用ggplot2
这个包画热图的话需要借助geom_tile()
这个函数。今天的内容就以相关系数的数据为例介绍一下ggplot2
画热图的一个简单小例子。
视频版
接下来是文字版
第一步是做相关性分析,获得相关系数
R语言里做相关性分析需要准备的数据格式如下:每行是一个样本,每列是一个变量,存储到excel中,然后另存为csv格式数据
需要示例数据的可以直接在文末留言
首先是读入数据
df"example_data/cor_plot_example.csv", header=T, row.names = 1)df
相关性分析
直接用cor()
函数获得相关系数矩阵
cordfcordf
相关系数矩阵是宽格式的数据,ggplot2作图通常是长格式数据,把宽格式变成长格式直接使用reshape2
包中的melt()
函数就可以了
plotdfplotdf
接下来就是用ggplot2画图了
最基本的热图
library(ggplot2)ggplot(plotdf,aes(x=Var1,y=Var2))+ geom_tile(aes(fill=value))
更改配色
ggplot(plotdf,aes(x=Var1,y=Var2))+ geom_tile(aes(fill=value))+ scale_fill_gradient2(low="green",mid="white",high = "red")
将相关系数的数值作为文字标签
ggplot(plotdf,aes(x=Var1,y=Var2))+ geom_tile(aes(fill=value))+ scale_fill_gradient2(low="green",mid="white",high = "red")+ geom_text(aes(label=value))
相关系数的小数位数太多,我们只保留两位
plotdf$value$value,2)ggplot(plotdf,aes(x=Var1,y=Var2))+ geom_tile(aes(fill=value))+ scale_fill_gradient2(low="green",mid="white",high = "red")+ geom_text(aes(label=value))
这样最基本的热图就做好了,接下来是简单的美化
包括去掉灰色背景,去掉坐标轴的标题和小短线
ggplot(plotdf,aes(x=Var1,y=Var2))+ geom_tile(aes(fill=value))+ scale_fill_gradient2(low="green",mid="white",high = "red")+ geom_text(aes(label=value))+ theme(panel.background = element_blank(), axis.title = element_blank(), axis.ticks = element_blank())
欢迎大家关注我的公众号
小明的数据分析笔记本
r语言ggplot2一夜多图_R语言ggplot2画四方形的热图展示相关系数的简单小例子相关推荐
- R:热图解释 | pheatmap包参数及详细聚类图绘制流程(一篇解决热图绘制问题)
热图解释及pheatmap绘制热图 一.热图绘制原理 1.1 热图介绍 1.2 热图绘制准备--均一化 1.3 热图绘制方式 1.4 热图数据查看示例 二.pheatmap包简介 2.1 pheatm ...
- r语言绘制精美pcoa图_R语言绘制交互式热图
热图 通过热图可以简单地聚合大量数据,并使用一种渐进的色带来优雅地表现,最终效果一般优于离散点的直接显示,可以很直观地展现空间数据的疏密程度或频率高低.但也由于很直观,热图在数据表现的准确性并不能保证 ...
- r中gglot怎么组合多张图_R语言之可视化①⑧子图组合patchwork包
目录 R语言之可视化①⑧子图组合patchwork包 ======================= 正文 其实前面已经介绍两个子图组合的博客,但是看到这个patchwork包还是眼前一亮,因为它非常 ...
- r语言折线图_R语言基础入门视频教程——语法篇(完结)
这个视频分了2个阶段录制的,第1阶段有10章的内容,在文章:生物专业学生0基础入门R语言语法视频教程,就有说明,后面把最后2章补录完成啦,也算是一个结局啦.下面是目录: 第01章:R语言简介(免费) ...
- 语言的MASS包干什么的_R语言绘制平行坐标图(PCP)示例
R语言绘制平行坐标图(PCP)示例前文在讲述冲击图(alluvial diagram)时提到了,它在某种形式上是平行坐标图(parallel coordinate plot,PCP)的一种变体,那么本 ...
- r语言 新增一列数字类型_R语言总结
不连续更新,总结一些实用的R语言操作知识. 如何在RStudio中更新R版本 install.packages("installr") 2. 带P值的箱型图 Input data: ...
- r语言的MASS包干什么的_R语言综述的包
Multivariate Statistics (多元统计) 基本的R包已经实现了传统多元统计的很多功能,然而CRNA的许多其它包提供了更深入的多元统计方法,下面做个简要的综述.多元统计的特殊应用在C ...
- 折线图_R语言画折线图?
笔者邀请您,先思考: 1 折线图有什么作用?如何画折线图 折线图(Line chart)是将数据表示为一系列称为"标记"的数据点,数据点之间由线段连接而成.它是类似散点图,除了测量 ...
- r语言 新增一列数字类型_R语言实战(2)——创建数据集【学习分享】
往期回顾: R语言实战(1)--R语言介绍[学习分享] 引言:上一章我们通过简单的例子了解了R语言及R语言能实现的一些功能,本期我们将一起学习R中的数据结构,以及向R中导入数据的方法. 2.1 数据结 ...
最新文章
- MyBatis-Plus,搭配 Spring Boot 使用,一篇就够了
- S5700三层交换机 复杂网络环境设置默认路优先级实战
- English trip M1 - AC6 How to make salad? Teacher:Patrick
- 运行pip list报错:Fatal error in launcher: Unable to create process using...python\Scripts\pip.exe list
- python中hashset_python中的集合
- The xxx collides with a package/type
- 随想录(从DO-178C和ARINC653想到的)
- vue2.0 自定义 饼状图 (Echarts)组件
- sqlloader 直接路径和常规路径_sqlloader
- APP推广的八大“邪恶”方法?做好产品才是王道!
- 线性回归2——正则化(含代码)
- 在 Half-Life MOD 中创建自己的武器及弹药
- 科研,办公几款强大又实用的软件(含安装包)
- 一看就会!DS1302实时时钟原理和程序
- 用户体验设计师面试中可能会问及的10个高频问题
- 希腊字母的读法[转]
- 用jupyter notebook卸载Python第三方库
- 最全的数据分析平台整理
- Learning Objectives
- 3DSMAX简易辫子制作
热门文章
- [安全攻防进阶篇] 七.恶意样本检测之编写代码自动提取IAT表、字符串及时间戳溯源
- Swift之深入解析如何将代码添加为自定义LLDB命令
- Swift之深入解析“类”的底层原理
- iOS逆向之深入解析App签名的双向验证机制和原理
- 并发编程——进程——理论知识
- 1114:白细胞计数
- 01、python数据分析与机器学习实战——Python可视化库Seaborn
- 【机器视觉】 measure_pairs算子
- 【Linux】一步一步学Linux——at命令(133)
- 【Alljoyn】Alljoyn学习笔记五 AllJoyn开源技术基础概念解析