折线图添加误差线是非常常用的一种可视化方法,今天的推文介绍一下使用R语言的ggplot2作图的代码。模仿的是论文 Phased diploid genome assemblies and pan-genomes provide insights into the genetic history of apple domestication 中的Figure3中的d图
image.png
第一步是准备数据
image.png
数据保存为csv格式
代码语言:javascript复制df<-read.csv("line.csv",header=T)
df
基本的折线图
代码语言:javascript复制library(ggplot2)
head(df)
ggplot(df,aes(x=time_point,y=value))
geom_line()
geom_point()
ylim(0,40)
image.png
添加误差线
代码语言:javascript复制ggplot(df,aes(x=time_point,y=value))
geom_line()
geom_point()
ylim(0,40)
geom_errorbar(aes(ymin=value-sd,
ymax=value sd),
width=0.2)
image.png
这样基本就做好了,接下来就是美化
- 去掉灰色背景
- 添加坐标轴线
- 更改坐标轴的刻度和标签
ggplot(df,aes(x=time_point,y=value))
geom_line()
geom_point()
ylim(0,40)
geom_errorbar(aes(ymin=value-sd,
ymax=value sd),
width=0.2)
theme(panel.background = element_blank(),
axis.line.x = element_line(),
axis.line.y = element_line())
scale_x_continuous(breaks = 1:13,
labels = df$label)
labs(x=NULL,y=NULL,title = "AAA")
image.png
接下来是拼图
代码语言:javascript复制p1<-ggplot(df,aes(x=time_point,y=value))
geom_line()
geom_point()
ylim(0,40)
geom_errorbar(aes(ymin=value-sd,
ymax=value sd),
width=0.2)
theme(panel.background = element_blank(),
axis.line.x = element_line(),
axis.line.y = element_line())
scale_x_continuous(breaks = 1:13,
labels = df$label)
labs(x=NULL,y=NULL,title = "AAA")
library(cowplot)
plot_grid(p1,p1,p1,p1,p1,p1,ncol=2,nrow=3)
image.png
需要示例数据的可以直接留言