跟着Nat Commun学作图 | 2.时间线图

跟着Nat Commun学作图 | 2.时间线图

今天要学习的图来自2021年10月29号发表在的Nature Communication上的一篇文章,题目是【新冠肺炎患者呼吸道菌群组成及其与宿主相互作用的临床研究】。今天先来复现其中的一幅时间线图

ea3a00ba1e48fdfe40c7f80f140aee8c.png
Snipaste_2021-11-11_00-04-49

DOI:10.1038/s41467-021-26500-8

注:和 跟着Nat Commun学作图 | 1.批量箱线图+散点+差异分析不是同一篇NC,因为同为NC且以图为主故合并之。

  • 读图

  • 示例数据及作图前准备

    • 导入数据

  • 绘制

    • 结果展示

  • 数据及代码

  • 后记

  • 往期内容

读图

59ded9105840dc8369de9a8f7d88db61.png

该图为患者的时间线图。每行代表一个病人。黄线表示在病房,而蓝色表示在ICU。红点表示出院日期。×表示采集拭子样本进行微生物群分析的时间点。可以很直观的看出患者的纵向的一个状态。

图是由简单的点和线组成,并没有太大的难点。

示例数据及作图前准备

由于作者给开源的数据设置了权限,这里就用timelineS包的life_country数据为例。

导入数据

# 导入数据并查看数据集格式
library(timelineS) #没安装过的需自行安装
data(life_country)
head(life_country)
str(life_country)
> head(life_country)
    Name   Country Gender Phase      Start        End
1 Edward Australia   Male     A 1927-11-17 1948-01-22
2  James Australia   Male     A 1925-11-20 1944-01-16
3   Mark Australia   Male     A 1926-06-11 1948-10-25
4   Fred Australia   Male     A 1927-01-22 1950-04-06
5   Phil Australia   Male     A 1923-06-20 1947-12-29
6    Ava Australia Female     A 1924-06-02 1944-01-25
> str(life_country)
'data.frame': 256 obs. of  6 variables:
 $ Name   : Factor w/ 62 levels "Ah","Albert",..: 13 25 41 19 48 6 15 56 7 35 ...
 $ Country: Factor w/ 5 levels "Australia","China",..: 1 1 1 1 1 1 1 1 1 1 ...
 $ Gender : Factor w/ 2 levels "Female","Male": 2 2 2 2 2 1 1 1 1 1 ...
 $ Phase  : chr  "A" "A" "A" "A" ...
 $ Start  : Date, format: "1927-11-17" "1925-11-20" ...
 $ End    : Date, format: "1948-01-22" "1944-01-16" ...

绘制

library(ggplot2)
library(wesanderson) #颜色需要
ggplot(life_country, aes(x=Start, y=Name, group=Name, color=Phase)) + 
  scale_color_manual(values=wes_palette(n=5, name="Zissou1")[c(4,2,5,6)]) + #上色
  geom_line(size=1) + #画线(即文献中的)
  geom_point(shape=15, size=0.7) +#线段末尾的点(即文献中的出院点)
  geom_point(aes(x=End, y=Name), color="black", size=1, shape=4) + #画点(即文献中抽样的点)
  theme_bw() + #主题
  scale_x_date(date_breaks = "30 year")+ #横轴的时间跨度
  theme(axis.text.y=element_blank(),
        axis.ticks.y=element_blank(),
        axis.title = element_text(face = "bold"), 
        plot.title = element_text(face = "bold"), 
        legend.title = element_text(face = "bold")) +
  labs(title = "", y="Name",
       x = "Start", colour = "Phase")
ggsave(filename = "timeline.pdf", device = "pdf", width = 5, height=7) #保存为pdf

结果展示

2f6d01c3ebfaf0eea6232cf5a8766926.png

注:由于数据的原因 "出院点"被“抽样点"覆盖了,问题不大,大家根据实际的数据绘制即可。

数据及代码

为爱发电不易~如果需要示例数据及代码(当然其实文中都已经写的很详细了)的同学,点赞&打赏任意金额,并在主页添加本人微信(mzbj0001)发送截图即可。

后记

关于更详细的代码讲解、作者的原代码的一些细节以及我修改的地方会在之后的视频教程中详细讲到,有兴趣的可以关注我的B站【木舟笔记】

往期内容

  1. 跟着Nature学作图 | 配对哑铃图+分组拟合曲线+分类变量热图

  2. (免费教程+代码领取)|跟着Cell学作图系列合集

  3. 跟着Nat Commun学作图 | 1.批量箱线图+散点+差异分析


3abed2454841b405d9f9c83de27bbe2b.png

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值