获取更多R语言知识,请关注公众号:医学和生信笔记

医学和生信笔记 公众号主要分享:1.医学小知识、肛肠科小知识;2.R语言和Python相关的数据分析、可视化、机器学习等;3.生物信息学学习资料和自己的学习笔记!

介绍

不同于普通的相关性热图,此相关性热图的2个变量是不同的,比如展示10种免疫细胞和20个基因彼此之间的相关性,此时 corrplot 包无法满足要求,需要使用 ggplot2 进行展示。

准备数据

  1. ## 首先你需要获得类似于这种结构的数据,一共5列,第一列和第二列是不同的2个变量,第3列是相关系数,第4
  2. ## 列是相关系数的P值,第5列是根据P值表示的星号(第5列需要自己构造)
  3. # load(file = "correlationHeatmap.RData")
  4. knitr::kable(longformData[1:10,])

image.png

画图

  1. ## 使用 geom_tile画图
  2. library(ggplot2)
  3. ggplot(longformData, aes(X,Var2))+
  4. geom_tile(aes(fill=CorrValue))+
  5. geom_text(aes(label=stars), color="black", size=4)+
  6. scale_fill_gradient2(low='blue', high='red',mid = 'white',
  7. limit=c(-1,1),name=paste0("* p < 0.05","\n\n","** p < 0.01","\n\n","*** p < 0.001","\n\n","Correlation"))+
  8. labs(x=NULL,y=NULL)+
  9. theme(axis.text.x = element_text(size=8,angle = 30,hjust = 1,color = "black"),
  10. axis.text.y = element_text(size=8,color = "black"),
  11. axis.ticks.y = element_blank(),
  12. panel.background=element_blank())

image.png

获取更多R语言知识,请关注公众号:医学和生信笔记

医学和生信笔记 公众号主要分享:1.医学小知识、肛肠科小知识;2.R语言和Python相关的数据分析、可视化、机器学习等;3.生物信息学学习资料和自己的学习笔记!