首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >跟着NaturePlants学作图:R语言ggplot2分组折线图完整示例

跟着NaturePlants学作图:R语言ggplot2分组折线图完整示例

作者头像
用户7010445
发布2023-01-06 19:24:57
发布2023-01-06 19:24:57
8300
举报

论文

The slow-evolving Acorus tatarinowii genome sheds light on ancestral monocot evolution

https://www.nature.com/articles/s41477-022-01187-x#Sec21

本地pdf s41477-022-01187-x.pdf

论文中的数据基本都公开了,我们可以利用论文中的数据模仿论文中的图,今天的推文模仿一下论文中Figure1c 和 figure1f

image.png

figure1c

部分示例数据截图

image.png

读取数据并作图

代码语言:javascript
复制
library(readxl)

datf3c<-read_excel("data/20220807/41477_2022_1187_MOESM4_ESM.xlsx",
                   sheet = "Fig.1C",
                   skip = 1)
head(datf3c)

library(tidyverse)
datf3c %>% 
  select(-'4dTV_1') %>% 
  pivot_longer(-'4dTV_2') %>% 
  mutate(name = fct_relevel(name,c("Acorus-Acorus",
                                   "Acorus-Zostera",
                                   "Acorus-Oryza",
                                   "Acorus-Asparagus"))) -> new.datf3c

#install.packages("latex2exp")
library(latex2exp)
ggplot(data=new.datf3c,
       aes(x=`4dTV_2`,y=value,color=name))+
  geom_line(size=1)+
  scale_color_manual(values = c("#ff0000","#7030a0",
                                "#00b050","#5b9bd5"),
                     name=NULL)+
  theme_classic()+
  theme(legend.position = c(0.8,0.8),
        legend.text = element_text(face = "italic"))+
  scale_x_continuous(expand = expansion(mult = c(0,0)),
                     limits = c(0,2),
                     breaks = seq(0,2,0.2))+
  scale_y_continuous(expand = expansion(mult = c(0,0)),
                     limits = c(0,300))+
  labs(x="4dTV",y="No.of gene pairs") -> p1
p1

image.png

figure1f

部分示例数据截图

image.png

读取数据并作图

代码语言:javascript
复制
datf3f<-read_excel("data/20220807/41477_2022_1187_MOESM4_ESM.xlsx",
                   sheet = "Fig.1F",
                   skip = 1)
head(datf3f)
datf3f %>% 
  pivot_longer(-"Distance to Gene Start") %>% 
  ggplot(aes(x=`Distance to Gene Start`,
             y=value,
             color=name))+
  geom_line()+
  scale_color_manual(values = c("#ff0000","#00b0f0"))+
  theme_classic()+
  theme(legend.position = c(0.9,0.2),
        plot.margin = unit(c(0.1,0.5,0.1,0.1),'cm'),
        legend.title = element_blank())+
  scale_x_continuous(expand = expansion(mult = c(0,0)),
                     labels = c("-2 kb","Start","",
                                "Stop","+2 kb"))+
  scale_y_continuous(expand = expansion(mult = c(0,0)),
                     limits = c(0,0.4))+
  labs(x=NULL,y="Ratio of TEs") -> p2
p2

image.png

最后是拼图

代码语言:javascript
复制
p1+p2+
  plot_annotation(tag_levels = list(c("c","f")))

image.png

示例数据可以在论文中去下载,代码直接在推文中复制

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

本文分享自 小明的数据分析笔记本 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 论文
  • figure1c
  • figure1f
  • 最后是拼图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档