跟着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、生物信息学入门学习资料及自己的学习笔记!
相关文章
|
8月前
|
数据可视化
R语言绘图教程丨Nature论文都在用的多组比较箱线图,自动计算显著性并标注,附带误差线
R语言绘图教程丨Nature论文都在用的多组比较箱线图,自动计算显著性并标注,附带误差线
|
4天前
|
机器学习/深度学习 缓存 算法
【视频】Boosting集成学习原理与R语言提升回归树BRT预测短鳍鳗分布生态学实例-2
【视频】Boosting集成学习原理与R语言提升回归树BRT预测短鳍鳗分布生态学实例
23 5
|
1天前
R语言分布滞后线性和非线性模型DLM和DLNM建模应用| 系列文章
R语言分布滞后线性和非线性模型DLM和DLNM建模应用| 系列文章
|
4天前
|
算法
R语言贝叶斯METROPOLIS-HASTINGS GIBBS 吉布斯采样器估计变点指数分布分析泊松过程车站等待时间
R语言贝叶斯METROPOLIS-HASTINGS GIBBS 吉布斯采样器估计变点指数分布分析泊松过程车站等待时间
17 0
|
4天前
|
存储
【视频】R语言中的分布滞后非线性模型(DLNM)与发病率,死亡率和空气污染示例
【视频】R语言中的分布滞后非线性模型(DLNM)与发病率,死亡率和空气污染示例
26 3
|
9天前
r语言ggplot2误差棒图快速指南
r语言ggplot2误差棒图快速指南
14 0
|
10天前
|
存储 数据可视化 数据挖掘
R语言可视化:ggplot2冲积/桑基图sankey分析大学录取情况、泰坦尼克幸存者数据
R语言可视化:ggplot2冲积/桑基图sankey分析大学录取情况、泰坦尼克幸存者数据
16 1
|
10天前
|
数据可视化
R语言极值理论EVT:基于GPD模型的火灾损失分布分析
R语言极值理论EVT:基于GPD模型的火灾损失分布分析
14 0
|
10天前
R语言对混合分布中的不可观测与可观测异质性因子分析
R语言对混合分布中的不可观测与可观测异质性因子分析
12 0
|
10天前
|
数据可视化
R语言ggplot2 对Facebook用户数据可视化分析
R语言ggplot2 对Facebook用户数据可视化分析
21 0

热门文章

最新文章