跟着顶刊学绘图 | 组学中多组热图绘制

引言

我们前面分享了NM的文章和代码(组学绘图代码分享,作者提供全部图的绘制代码,你还不动手收藏呢?),类似的文章和分享很多,也许你平时已经收藏了很多很多这样的教程。但是,可能 你收藏后就“吃灰”了,基本没有太多时间去了解和学习。

每个人精力和时间是有限的,我们当下也许只能做好1-2件事情。因此,我们会花费很少的时间,做每期教程的分享,希望可能帮助你。

原文图形

你直接使用自己数据和代码绘制出的图形

为什么我们不直接使用facet_wrap()进行绘图

我们看此热图,可以直接知道是如何绘制的,可以直接使用你ggplot2进行绘制。此外,此图热也是一个分面热图,我们在ggplot()函数中直接使用facet_wrap()也可以实现。但是,使用facet_wrap()时,X轴坐标的数据信息回全部显示,而有些数据可能是存在空值等(详情可以看教程最后的说明)。

SO,绘图的第一步就是筛选出图形的数据,然后进行绘制图形。

数据信息

Code

  1. 加载R包
library(tidyverse)
library(scales)
library(RColorBrewer)
  1. 加载数据
dat <- read.csv("data_input.csv",header = T)
head(dat)
list <- unique(dat$Metabolism)
list <- as.data.frame(list)
list$color <- brewer.pal(length(unique(list$list)), "Dark2")

##'@创建一个空的储存
plot_list <- list()

d <- list$list[6]
  1. 绘图
for (d in list$list) {
  #d = "CO-Oxidation"
  dat_lol <- dat %>%
    filter(Metabolism == !!d)
  
  ## 设置颜色 
  list_temp <- list %>%
    filter(list == !!d)
  
  (
    p1 <-
      ggplot(dat_lol , aes(Gene_name, Class)) +
      geom_tile(aes(fill = mean_tax), colour = "black") +
      scale_fill_gradient(
        low = "white",
        high = list_temp$color,
        limits = c(0, 100)
      ) +
      #scale_x_discrete(guide = guide_axis(n.dodge = 2))+
      theme_minimal() +
      coord_fixed(ratio = 1) +
      labs(x = NULL, y = NULL, fill = "Propotion of MAGs (%)") +
      theme(
        text = element_text(size = 12, colour = "black"),
        axis.text.x = element_text(angle = 45, hjust = 1)
      )
  )
  name = d
  name <- gsub(" ", "_", name)
  name <- gsub("/", "_", name)
  name <- paste("Figures/Fig_3a_", name, ".pdf", sep = "")
  ggsave(name, p1)
  
  plot_list[[d]] = p1
}
  1. 查看图形
plot_list$`Carbon metabolism`

plot_list$`CO-Oxidation`

plot_list$`Methane metabolism`

plot_list$`Nitrogen metabolism`

plot_list$`Sulfur metabolism`

  1. 拼图

拼图。我们使用AI软件进行调整和合并即可。虽然,过程比较麻烦,但是最终的效果还是比加分的。此外,若是你愿意折腾,也可以直接使用R进行合并。

使用facet_wrap()进行绘图

ggplot(dat , aes(Gene_name, Class)) +
  geom_tile(aes(fill = mean_tax), colour = "black") +
  scale_fill_gradient(
    low = "white",
    high = list_temp$color,
    limits = c(0, 100)
  ) +
  #scale_x_discrete(guide = guide_axis(n.dodge = 2))+
  theme_minimal() +
  coord_fixed(ratio = 1) +
  labs(x = NULL, y = NULL, fill = "Propotion of MAGs (%)") +
  theme(
    text = element_text(size = 12, colour = "black"),
    axis.text.x = element_text(angle = 45, hjust = 1)
  )+
  facet_wrap(~ Pathway_small)


若我们的教程对你有所帮助,请点赞+收藏+转发,大家的支持是我们更新的动力!!


2024已离你我而去,2025加油!!

2024年推文汇总 (点击后访问)

2023年推文汇总 (点击后访问)

2022年推文汇总 (点击后访问)

往期部分文章

1. 最全WGCNA教程(替换数据即可出全部结果与图形)

推荐大家购买最新的教程,若是已经购买以前WGNCA教程的同学,可以在对应教程留言,即可获得最新的教程。(注:此教程也仅基于自己理解,不仅局限于此,难免有不恰当地方,请结合自己需求,进行改动。)


2. 精美图形绘制教程

3. 转录组分析教程

4. 转录组下游分析

小杜的生信筆記 ,主要发表或收录生物信息学教程,以及基于R分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小杜的生信筆記

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值