今天推文重复的图来自于 论文
Whole-genome resequencing of 445 Lactuca accessions reveals the domestication history of cultivated lettuce
今天试着重复的图片对应着的是论文中的Figure3a,,曼哈顿图展示的是XP-CLR score,这个分支具体是什么含义还得仔细学习,群体基因组类的论文通常都有这个
数据可以直接在论文的补充材料下载
首先是读入数据
df<-readxl::read_excel("NG/41588_2021_831_MOESM6_ESM.xlsx",
sheet = "Fig3a")
head(df)
这里作图我们用连续型的x轴,连续型的数据操作坐标轴容易一些
library(stringr)
df$x<-as.numeric(str_replace(df$Chromosome,"chr",""))
head(df)
这里用到了一个R包ggh4x
,可以很方便的操作坐标轴,具体可以参考推文 通过ggh4x调整ggplot2图形刻度
完整的作图代码
library(ggplot2)
#install.packages("ggh4x")
library(ggh4x)
p1<-ggplot(data=df,aes(x=x,y=`XP-CLR score`))+
geom_jitter(aes(color=Chromosome),width = 0.5)+
scale_y_continuous(#expand = c(0,0),
breaks = c(0,50,100,150,200),
labels = c(0,50,100,150,200))+
theme_bw()+
theme(legend.position = "none",
panel.grid = element_blank(),
panel.border = element_blank(),
axis.line.x = element_line(),
axis.line.y = element_line())+
scale_x_continuous(breaks=seq(0.5,9.5,by=1),
labels = c(1:9,""))+
theme(axis.text.x = element_text(hjust=-4))+
guides(x=guide_axis_truncated(trunc_lower = 0.5,
trunc_upper = 9.5),
y=guide_axis_truncated(trunc_lower = 0,
trunc_upper = 200))+
annotate(geom = "segment",
x=3,xend=3,
y=180,yend=120,
arrow=arrow(length = unit(0.1,'cm')))+
annotate(geom = "text",x=3,y=185,label="qLFD")+
scale_color_manual(values = c(rep(c("#e64a37","#3c5588"),4),"#e64a37"))+
labs(x="Chromosome")
ggsave(filename = "p1-3.png",
p1,
width=8,
height = 4)
最终结果
这里遇到的问题是
如果设置
scale_y_continuous(expand = c(0,0))
刻度上的0就是显示不出来,暂时还搞不懂啥原因这种找自己感兴趣的点标注箭头,位置坐标不太好确定
时间原因就不解释代码了,大家感兴趣可以自己试着运行,直接点赞和点击在看,然后后台回复 20210514
即可获得代码和数据
欢迎大家关注我的公众号
小明的数据分析笔记本
小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!