R语言里画热图通常会使用pheatmap这个包。如果想使用ggplot2这个包画热图的话需要借助geom_tile()这个函数。今天的内容就以相关系数的数据为例介绍一下ggplot2画热图的一个简单小例子。

视频版

接下来是文字版

第一步是做相关性分析,获得相关系数

R语言里做相关性分析需要准备的数据格式如下:每行是一个样本,每列是一个变量,存储到excel中,然后另存为csv格式数据

image.png

需要示例数据的可以直接在文末留言

首先是读入数据
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))

image.png
更改配色
ggplot(plotdf,aes(x=Var1,y=Var2))+  geom_tile(aes(fill=value))+  scale_fill_gradient2(low="green",mid="white",high = "red")

image.png
将相关系数的数值作为文字标签
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))

image.png
相关系数的小数位数太多,我们只保留两位
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))

image.png
这样最基本的热图就做好了,接下来是简单的美化

包括去掉灰色背景,去掉坐标轴的标题和小短线

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())

image.png

欢迎大家关注我的公众号

小明的数据分析笔记本

r语言ggplot2一夜多图_R语言ggplot2画四方形的热图展示相关系数的简单小例子相关推荐

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

    热图解释及pheatmap绘制热图 一.热图绘制原理 1.1 热图介绍 1.2 热图绘制准备--均一化 1.3 热图绘制方式 1.4 热图数据查看示例 二.pheatmap包简介 2.1 pheatm ...

  2. r语言绘制精美pcoa图_R语言绘制交互式热图

    热图 通过热图可以简单地聚合大量数据,并使用一种渐进的色带来优雅地表现,最终效果一般优于离散点的直接显示,可以很直观地展现空间数据的疏密程度或频率高低.但也由于很直观,热图在数据表现的准确性并不能保证 ...

  3. r中gglot怎么组合多张图_R语言之可视化①⑧子图组合patchwork包

    目录 R语言之可视化①⑧子图组合patchwork包 ======================= 正文 其实前面已经介绍两个子图组合的博客,但是看到这个patchwork包还是眼前一亮,因为它非常 ...

  4. r语言折线图_R语言基础入门视频教程——语法篇(完结)

    这个视频分了2个阶段录制的,第1阶段有10章的内容,在文章:生物专业学生0基础入门R语言语法视频教程,就有说明,后面把最后2章补录完成啦,也算是一个结局啦.下面是目录: 第01章:R语言简介(免费) ...

  5. 语言的MASS包干什么的_R语言绘制平行坐标图(PCP)示例

    R语言绘制平行坐标图(PCP)示例前文在讲述冲击图(alluvial diagram)时提到了,它在某种形式上是平行坐标图(parallel coordinate plot,PCP)的一种变体,那么本 ...

  6. r语言 新增一列数字类型_R语言总结

    不连续更新,总结一些实用的R语言操作知识. 如何在RStudio中更新R版本 install.packages("installr") 2. 带P值的箱型图 Input data: ...

  7. r语言的MASS包干什么的_R语言综述的包

    Multivariate Statistics (多元统计) 基本的R包已经实现了传统多元统计的很多功能,然而CRNA的许多其它包提供了更深入的多元统计方法,下面做个简要的综述.多元统计的特殊应用在C ...

  8. 折线图_R语言画折线图?

    笔者邀请您,先思考: 1 折线图有什么作用?如何画折线图 折线图(Line chart)是将数据表示为一系列称为"标记"的数据点,数据点之间由线段连接而成.它是类似散点图,除了测量 ...

  9. r语言 新增一列数字类型_R语言实战(2)——创建数据集【学习分享】

    往期回顾: R语言实战(1)--R语言介绍[学习分享] 引言:上一章我们通过简单的例子了解了R语言及R语言能实现的一些功能,本期我们将一起学习R中的数据结构,以及向R中导入数据的方法. 2.1 数据结 ...

最新文章

  1. MyBatis-Plus,搭配 Spring Boot 使用,一篇就够了
  2. S5700三层交换机 复杂网络环境设置默认路优先级实战
  3. English trip M1 - AC6 How to make salad? Teacher:Patrick
  4. 运行pip list报错:Fatal error in launcher: Unable to create process using...python\Scripts\pip.exe list
  5. python中hashset_python中的集合
  6. The xxx collides with a package/type
  7. 随想录(从DO-178C和ARINC653想到的)
  8. vue2.0 自定义 饼状图 (Echarts)组件
  9. sqlloader 直接路径和常规路径_sqlloader
  10. APP推广的八大“邪恶”方法?做好产品才是王道!
  11. 线性回归2——正则化(含代码)
  12. 在 Half-Life MOD 中创建自己的武器及弹药
  13. 科研,办公几款强大又实用的软件(含安装包)
  14. 一看就会!DS1302实时时钟原理和程序
  15. 用户体验设计师面试中可能会问及的10个高频问题
  16. 希腊字母的读法[转]
  17. 用jupyter notebook卸载Python第三方库
  18. 最全的数据分析平台整理
  19. Learning Objectives
  20. 3DSMAX简易辫子制作

热门文章

  1. [安全攻防进阶篇] 七.恶意样本检测之编写代码自动提取IAT表、字符串及时间戳溯源
  2. Swift之深入解析如何将代码添加为自定义LLDB命令
  3. Swift之深入解析“类”的底层原理
  4. iOS逆向之深入解析App签名的双向验证机制和原理
  5. 并发编程——进程——理论知识
  6. 1114:白细胞计数
  7. 01、python数据分析与机器学习实战——Python可视化库Seaborn
  8. 【机器视觉】 measure_pairs算子
  9. 【Linux】一步一步学Linux——at命令(133)
  10. 【Alljoyn】Alljoyn学习笔记五 AllJoyn开源技术基础概念解析