前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >R绘图|时间热图

R绘图|时间热图

作者头像
小汪Waud
发布于 2023-10-24 11:01:50
发布于 2023-10-24 11:01:50
23600
代码可运行
举报
文章被收录于专栏:小汪Waud小汪Waud
运行总次数:0
代码可运行

在徐凌老师的 Nat Com 文章 Genome-resolved metagenomics reveals role of iron metabolism in drought-induced rhizosphere microbiome dynamics 中有这么一张补充图,介绍了本研究中涉及到的处理和取样的时间线

这种图通常被称为时间热图或时间线图,结合了颜色块、标签和标记,我们按照以下步骤进行绘图:

  1. 数据准备:整理你的数据,确保每个时间点的数据都在正确的位置。
  2. 确定颜色:为不同的部分如Water applied/No water applied和不同Omics选择颜色。
  3. 绘制基础图形:首先,绘制一个时间线图形,区分“Control”和“Drought”。
  4. 添加颜色块:根据数据在相应的时间点添加颜色块。
  5. 添加标记:如红点和绿点,表示“Metagenome”和“16S rRNA amplicon seq”等。
  6. 添加图例:确保图例清晰,与图中使用的颜色和标记一致。
  7. 优化和调整。

下面我们尝试用R复现此图

1生成示例数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
data <- data.frame(
  Category = c(rep("Control", 18), rep("Drought", 18)),
  TimePoint = rep(paste0("TP", 0:17), 2),
  Water = c(rep("Water applied", 18), rep("No water applied", 5), rep("Water applied", 13)),
  Metagenome = c(rep(1, 9), rep(NA, 9), rep(NA, 5), rep(1, 13)),
  Transcriptome = c(rep(NA, 4), rep(1, 5), rep(NA, 9), rep(NA, 5), rep(1, 4), rep(NA, 9))
)

# 示例数据前六行
  Category TimePoint         Water Metagenome Transcriptome
1  Control       TP0 Water applied          1            NA
2  Control       TP1 Water applied          1            NA
3  Control       TP2 Water applied          1            NA
4  Control       TP3 Water applied          1            NA
5  Control       TP4 Water applied          1             1
6  Control       TP5 Water applied          1             1

2作图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(ggplot2)

# 将TimePoint转换为有序因子
data$TimePoint <- factor(data$TimePoint, levels = paste0("TP", 0:17))

# 预定义颜色和其他属性
fill_colors <- c("Water applied" = "#7BAF8A", "No water applied" = "#D17F39")
color_values <- c("Metagenome" = "#9C281B", "Transcriptome" = "#343D5B")

# 使用ggplot2绘制图形
ggplot(data, aes(x = TimePoint, y = Category, fill = Water)) +
  geom_tile(color = "black", size = 0.5) +
  geom_point(data = subset(data, !is.na(Metagenome)), aes(color = "Metagenome"), size = 5,
             position = position_nudge(y = 0)) +
  geom_point(data = subset(data, !is.na(Transcriptome)), aes(color = "Transcriptome"), size = 5,
             position = position_nudge(y = -0.1)) +
  scale_fill_manual(values = fill_colors) +
  scale_color_manual(values = color_values) +
  guides(fill = guide_legend(override.aes = list(color = NA)))+
  labs(title = "Time point (in weeks)", fill = "", color = "", x = NULL) +
  theme_minimal() +
  theme(
    axis.title.y = element_blank(),
    panel.grid.major = element_blank(),
    axis.line.x = element_blank(),
    axis.text.x = element_text(face = "bold", size = 9,vjust = 12),
    axis.text.y = element_text(face = "bold", size = 10),
    plot.title = element_text(face = "bold", hjust = 0.5,vjust = -5))

3小结

除了展示上面的信息,你还可以额外生成一列 Note 用于文字标记,或通过调整点的高度位置来将组学数据展示在图形以外。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小汪Waud 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
绘图技巧 | 这种精美的”排序图“怎么做?(附练习数据)
今天小编给大家介绍一种”凹凸图(bump charts)“的绘制方法,其绘图函数主要来自R包-ggbump,本期的主要内容如下:
DataCharm
2021/05/27
1.2K0
ggplot2优雅的进行批量绘图-多版本代码
2024更新的绘图内容同时包含数据+代码+markdown注释文档+文档清单,「小编只分享案例文档不额外回答问题无答疑问。」
R语言数据分析指南
2024/06/18
2480
ggplot2优雅的进行批量绘图-多版本代码
绘图技巧 | 河流图绘制技巧分享(样例数据分享)
近日,有小伙伴私信我关于河流图(streamplot/streamgraph) 的绘制方法,大家知道小编我可是非常宠粉的哦,这就安排!!(有的小伙伴可能会问了,为啥老是绘制静态(不可交互)的图表呢,这里小编统一回复一下哈:交互式图表我们后面会专门出系列推文(Python居多哈),目前我们还是为了进行打好基础哈),好了,我们直接开始哈,内容主要如下:
DataCharm
2021/03/26
3K0
绘图技巧 | 河流图绘制技巧分享(样例数据分享)
R 语言绘制十段线地图,给特定省份填色
今天给大家介绍的内容是用 R 语言绘制包含十段线[1]的地图,并且可以根据数据实现对各省份的填色。
庄闪闪
2022/10/31
2.7K1
[GBD数据库挖掘] 13.ggplot2绘制风险因素图
R语言数据分析指南
2023/11/23
5150
[GBD数据库挖掘] 13.ggplot2绘制风险因素图
ggplot2绘制多图层相关性热图
R语言数据分析指南
2023/10/24
8370
ggplot2绘制多图层相关性热图
Nature图表复现|热图叠加折线图
R语言数据分析指南
2023/10/24
6750
Nature图表复现|热图叠加折线图
你还缺scRNA-seq的workflow吗?
之前曾老师给我看了一位在pipebio工作的生信工程师Roman Hillje的scRNA-seq的workflow,今天整理一下分享给大家。
生信菜鸟团
2024/07/31
3460
你还缺scRNA-seq的workflow吗?
Nature图表复现 | 组合绘制个性化热图
R语言数据分析指南
2023/09/20
5311
Nature图表复现 | 组合绘制个性化热图
绘图技巧 | 议会(项目)图还不会做?快上车~~
今天这篇推文小编给大家介绍一个一直想绘制的图表-议会图(parliament diagrams),当然这也是柱形图系列变形的一种。绘制这种图表也是超级简单的,只需使用R-ggpol包进行绘制即可,当然,改包还提供其他优秀的绘图函数,下面就一起来看下吧。
郭好奇同学
2021/03/25
1.4K0
绘图技巧 | 议会(项目)图还不会做?快上车~~
基于 R 语言的科研论文绘图技巧详解(2)
在查阅文献的过程中,看到了几幅非常不错的出版图,今天就跟着小编一起学习下,他们是怎么使用 R 绘制出来的。
庄闪闪
2022/05/24
1K0
基于 R 语言的科研论文绘图技巧详解(2)
全网最全的R语言基础图形合集
直方图是一种对数据分布情况进行可视化的图形,它是二维统计图表,对应两个坐标分别是统计样本以及该样本对应的某个属性如频率等度量。
生信学习者
2024/06/12
840
全网最全的R语言基础图形合集
跟着Nature microbiology学画图~堆积柱形图+箱线图以及组合图
说明没问题,是得到了dataframe;这样:数据准备好了,作图的工具也准备好了,那么我们就开始作图:
用户7010445
2020/12/08
4.8K0
跟着Nature microbiology学画图~堆积柱形图+箱线图以及组合图
R语言ggplot2每周一图活动:第四周~簇状柱形图和堆积柱形图
https://github.com/kaustavSen/tidytuesday/blob/master/2021/week_11.R
用户7010445
2022/05/23
6050
R语言ggplot2每周一图活动:第四周~簇状柱形图和堆积柱形图
文献组图
追风少年i
2025/01/07
530
文献组图
67-R可视化11-用ggrepel更加美观的添加标记(火山图的实现)
上一讲我们提到了66-R可视化10-自由的在ggplot上添加文本(柱状图加计数)[2]
北野茶缸子
2021/12/17
4.3K0
67-R可视化11-用ggrepel更加美观的添加标记(火山图的实现)
R语言ggplot2做柱形图并在指定的位置添加灰色背景
ggplot2作图X轴默认坐标轴的刻度是朝下的,Y轴默认的刻度是朝左的,如果要改为朝上和朝右,该如何设置。之前也有人问过这个问题
用户7010445
2021/11/16
2.2K0
R语言ggplot2做柱形图并在指定的位置添加灰色背景
scRNA分析| Seurat堆叠小提琴图不满足? 那就ggplot2 堆叠 各种元素
单细胞常见的可视化方式有DimPlot,FeaturePlot ,DotPlot ,VlnPlot 和 DoHeatmap几种 ,Seurat均可以实现,但文献中的图大多会精美很多。比如
生信补给站
2023/08/25
4.5K0
scRNA分析| Seurat堆叠小提琴图不满足?  那就ggplot2 堆叠 各种元素
R语言ggplot2画带有空白格的热图简单小例子
之前有人在公众号留言问文章开头这幅图如何实现,下面的B图是折线图加柱形图,相对比较容易实现,上面的A图稍微有点复杂,我想到的办法是拼图,图A可以看成三个热图,然后加一个堆积柱形图,最后将四个图组合到一起。那就按照这个思路试一下看能不能实现。 首先画热图 这个热图和常规的还稍微有点不太一样,可以简单的理解为带有缺失值的热图,缺失值是空白格,其他值分别填充颜色。 那我们就按照这个思路来构造数据 将数据集按照以上格式整理好,存储在csv文件中。 首先是读入数据 df<-read.csv("example_da
用户7010445
2021/01/06
3.4K0
R-ggdist - 分布和不确定性可视化
今天的推文给大家介绍一个我发现的比较优秀的一个可视化R包-ggdist包,这是一个非常优秀和方便的用于绘制 分布(distributions)和不确定性(uncertainty) 的可视化绘图包,详细介绍大家可以去官网查阅:ggdist官网。本期推文涉及的内容主要如下:
DataCharm
2021/02/22
7120
R-ggdist - 分布和不确定性可视化
推荐阅读
相关推荐
绘图技巧 | 这种精美的”排序图“怎么做?(附练习数据)
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验