nature genetics图表复现-自定义绘制散点图
2023-02-18 16:35:33 时间
❝本节来复现「nature genetics」上的一张图,自定义绘制误差线图;下面小编就通过一个详细的案例介绍如何绘制此图;❞
图形展示
❝此图作为基础图形系列,但是又在基础图形的基础上做了一点细微的变化,如误差线不展示「ymin&ymax」因此直接添加几何对象完成不能实现,此外也通过自定义绘制线条来进行注释以及Y轴标题添加上标;那么小编下方案例代码就来简单介绍如何用代码来解决这三个问题 ❞
加载R包
library(tidyverse)
library(readxl)
library(ggtext)
library(ggsci)
导入数据
df1 <- read_excel("41588_2022_1184_MOESM5_ESM.xlsx",sheet = 4)
定义因子
df1$taxon <- factor(df1$taxon,levels=c("nicaraguensis","luxurians","diploperennis",
"perennis","huehuetenangensis","mexicana",
"parviglumis","TST","TEM"))
定义线条位置信息
p_value1 <- tibble(
x = c("nicaraguensis","nicaraguensis","parviglumis","parviglumis"),
y= c(7.8,7.8,7.8,7.8))
p_value2 <- tibble(
x = c("perennis","perennis","TEM","TEM"),
y=c(7.8,8.2,8.2,0.8))
p_value3 <- tibble(
x = c("TST","TST","TEM","TEM"),
y=c(0.7,0.7,0.7,0.7))
数据可视化
df1 %>% mutate(SNP=SNP/100000) %>%
ggplot(aes(taxon,SNP))+
geom_jitter(width = 0.1,color="grey")+
# stat_boxplot(geom = "errorbar", aes(ymin = ..ymax..),width=0.1) +
# stat_boxplot(geom = "errorbar", aes(ymax = ..ymin..),width=0.1)+
stat_boxplot(outlier.shape = NA,width=0,aes(color=taxon,fill=taxon),
show.legend = F) + # 添加误差线
stat_summary(aes(taxon,SNP,color=taxon,fill=taxon),pch=22,
fun.y="mean",geom="point",size=4,
show.legend = F)+ # 添加均值
# 自定义绘制线条
geom_line(data = p_value1,aes(x = x, y = y,group=1))+
geom_line(data = p_value2,aes(x = x, y = y,group=1))+
geom_line(data = p_value3,aes(x = x, y = y,group=1))+
labs(x=NULL,y="Number of taxon-specific SNPs (x10<sup>5</sup>)")+
scale_y_continuous(limits = c(0,8.5),breaks = seq(0,8.5,2.5))+
scale_fill_npg()+
scale_color_npg()+
theme_classic()+
theme(axis.text.x=element_text(angle = 90,vjust = 0.5,hjust=1,size=10,
color="black",face="bold"),
axis.text.y=element_text(size=10,color="black"),
axis.title.y= element_markdown(color="black",size=11,face="bold",
margin = margin(r=10)))+
annotate("text",x =7,y =8.3,label="**",size = 6,color = "#22292F")
相关文章
- CSS Flex 弹性布局使用
- 【stars-one】JetBrains产品试用重置工具
- JB一键重置
- 修改阿里云DNS 解决蓝奏云无法访问问题
- IDEA无限试用插件
- 油猴脚本——快速引用某篇文章的标题和地址
- lzupdate
- 封装TornadoFx常用控件库
- 蓝奏云正则字符串
- stars-one的原创工具——文档生成器
- Tornadofx学习笔记(4)——IconTextFx开源库,整合5000+个字体图标
- rpc框架dubbo学习入门及环境搭建(spring boot+Kotlin)
- Tornadofx学习笔记(3)——使用Maven编译成jar包
- 探究Spring Boot中的接收参数问题与客户端发送请求传递数据
- 提问须知
- Spring boot返回时间与MySql数据库中不相同问题及解决方法
- Spring框架学习笔记(9)——API接口设计相关知识及具体编码实现
- Tornadofx学习笔记(2)——FxRecyclerView控件的打造
- Spring框架学习笔记(8)——spring boot+mybatis plus+mysql项目环境搭建
- MySQl出现ERROR 1045 (28000): Access denied for user 'root'@'localhost'解决方法