跟着NaturePlants学作图:R语言ggplot2分组折线图完整示例
语言 示例 完整 分组 ggplot2 跟着 作图 折线图
2023-06-13 09:16:32 时间
论文
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
读取数据并作图
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
读取数据并作图
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
最后是拼图
p1+p2+
plot_annotation(tag_levels = list(c("c","f")))
image.png
示例数据可以在论文中去下载,代码直接在推文中复制
相关文章
- c语言中按位异或的作用,C语言 按位异或实现加法(示例代码)
- 基于现代R语言【Tidyverse、Tidymodel】的机器学习方法与案例分析
- 跟着Nature学作图:R语言ggplot2散点图和添加辅助线完整示例
- 跟着Nature学作图:R语言ggplot2箱线图/散点图完整示例
- 跟着Nature Communications学作图:R语言ggplot2气泡图组合水平柱形图完整示例
- 【计算理论】正则语言 ( 正则表达式原子定义 | 正则表达式递归定义 | 正则表达式语言原子定义 | 正则表达式语言结构归纳 | 正则表达式语言示例 | 根据正则表达式构造自动机 )
- 【Android NDK 开发】Kotlin 语言中使用 NDK ( 创建支持 Kotlin 的 NDK 项目 | Kotlin 语言中使用 NDK 要点 | 代码示例 )
- 【C 语言】二级指针作为输出 ( 指针输入 | 指针输出 | 二级指针 作为 函数形参 使用示例 )
- 开心档之Go 语言数据类型
- Go语言指针详解,看这一篇文章就够了
- PostgreSQL教程(二十):PL/pgSQL过程语言
- Linux虚拟机:让跨语言运行成为可能(linux虚拟机语言)
- 使用R语言连接Oracle数据库,轻松实现数据分析(roracle连接)
- c语言程序设计文件操作方法示例(CreateFile和fopen)
- 纯c语言实现面向对象分析与示例分享
- c语言实现单链表算法示例分享
- c语言随机数函数示例
- c语言可变参数实现示例
- c语言实现冒泡排序、希尔排序等多种算法示例