跟着Nature学作图:R语言ggplot2频率分布直方图和散点图添加误差线

简介: 跟着Nature学作图:R语言ggplot2频率分布直方图和散点图添加误差线

论文

A saturated map of common genetic variants associated with human height

https://www.nature.com/articles/s41586-022-05275-y

s41586-022-05275-y.pdf

代码没有公开,但是作图数据基本都公开了,争取把每个图都重复一遍

今天的推文重复论文中的extended Figure4 频率分布直方图和散点图添加误差线

首先是图a频率分布直方图

library(readxl)
dat<-read_excel("extendFig4.xlsx",
                sheet = "Panel a")
dat

colnames(dat)<-"Var1"
library(ggplot2)
library(ggh4x)


ggplot(data=dat,aes(x=Var1))+
  geom_histogram(bins = 25,
                 color="white",
                 fill="#aadbe9")+
  scale_x_continuous(limits = c(0.5,3),
                     breaks = seq(0.5,3,by=0.5))+
  scale_y_continuous(limits = c(0,300),
                     breaks = seq(0,300,50))+
  geom_vline(xintercept = 0.75,lty="dashed",color="#aadbe9")+
  geom_vline(xintercept = 2.25,lty="dashed",color="#aadbe9")+
  geom_segment(aes(x=2.5,xend=2.5,y=50,yend=0),
               arrow = arrow(),
               color="red")+
  annotate(geom = "text",x=2.5,y=50,label="Observed",
           vjust=-1)+
  geom_segment(aes(x=0.75,xend=2.25,y=250,yend=250),
               arrow = arrow(ends = "both",
                             angle=20,
                             length = unit(3,'mm')),
               color="#aadbe9")+
  annotate(geom = "text",x=1.5,y=250,
           label="Null distribution (1,000 draws)",
           vjust=-1)+
  theme_classic()+
  guides(x=guide_axis_truncated(trunc_lower = 0.5,
                                trunc_upper = 3),
         y=guide_axis_truncated(trunc_lower = 0,
                                trunc_upper = 300))+
  labs(y="Frequency",
       x="Enrichment folde of OMIM genes\nnear GWS SNPs with a density > 1")

image.png

第二个图b

datb<-read_excel("extendFig4.xlsx",
                sheet = "Panel b")
datb
ggplot(data=datb,aes(x=`Minimum Signal Density`,
                     y=`Enrichment statistic`))+
  geom_point()+
  geom_errorbar(aes(ymin=`Enrichment statistic`-`Standard Error of Enrichment Statistic`,
                    ymax=`Enrichment statistic`+`Standard Error of Enrichment Statistic`),
                width=0.4)+
  scale_x_continuous(limits = c(0.5,10.5),
                     breaks = 1:10)+
  scale_y_continuous(limits = c(0,9),
                     breaks = 0:8)+
  theme_classic()+
  guides(x=guide_axis_truncated(trunc_lower = 1,
                                trunc_upper = 10),
         y=guide_axis_truncated(trunc_lower = 0,
                                trunc_upper = 8))+
  labs(x="Minimum Signal Density",
       y="Enrichment-fold of OMIM genes\nnear GWS SNPs")

image.png

最后是拼图

library(patchwork)
p1+p2

image.png

示例数据和代码可以给公众号推文点赞,点击在看,最后留言获取

欢迎大家关注我的公众号

小明的数据分析笔记本

小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!
相关文章
R语言绘制组间比较散点图并自动添加P值信息
查询ggprism包使用时候发现官网给出的一示例图比较常用,这里记录学习一下。
238 3
|
数据可视化 数据挖掘 Python
跟着Oncogene学作图:R语言gggenomes画桑基图
跟着Oncogene学作图:R语言gggenomes画桑基图
|
数据可视化 数据挖掘 Python
跟着NatureCommunications学作图:R语言ggtree根据分组给进化树上色
跟着NatureCommunications学作图:R语言ggtree根据分组给进化树上色
|
4月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
3月前
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
65 3
|
8月前
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化
|
8月前
|
机器学习/深度学习 数据可视化
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为2
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为
|
4月前
|
数据采集 数据可视化 数据挖掘
R语言在金融数据分析中的深度应用:探索数据背后的市场智慧
【9月更文挑战第1天】R语言在金融数据分析中展现出了强大的功能和广泛的应用前景。通过丰富的数据处理函数、强大的统计分析功能和优秀的可视化效果,R语言能够帮助金融机构深入挖掘数据价值,洞察市场动态。未来,随着金融数据的不断积累和技术的不断进步,R语言在金融数据分析中的应用将更加广泛和深入。
|
5月前
|
机器学习/深度学习 数据采集 数据可视化
R语言在数据科学中的应用实例:探索与预测分析
【8月更文挑战第31天】通过上述实例,我们展示了R语言在数据科学中的强大应用。从数据准备、探索、预处理到建模与预测,R语言提供了完整的解决方案和丰富的工具集。当然,数据科学远不止于此,随着技术的不断发展和业务需求的不断变化,我们需要不断学习和探索新的方法和工具,以更好地应对挑战,挖掘数据的潜在价值。 未来,随着大数据和人工智能技术的普及,R语言在数据科学领域的应用将更加广泛和深入。我们期待看到更多创新的应用实例,为各行各业的发展注入新的动力。