这是一个双侧柱状图,特点是,可以理解为上下调分开展示。当然,还可以将P值等信息添加在图上。其实我们之前好几篇文章做过双侧柱状图,但不足之处是没有像这篇文章一样,坐标轴位于中间,且通路分别展示在两侧,以及添加更多信息!
复现《cell》图表往期内容:
1、复现《Cell》图表:柱状图|添加分组注释|legend设置
2、复现《Cell》图表:双侧柱状图及坐标轴设置|ComplexHeatmap图例设置
4、复现《Cell》图表:ggplot做回归、折线图并添加置信区间
今天我们做一下这篇《Cell》文章的富集结果图。
image.png
这是一个双侧柱状图,特点是,可以理解为上下调分开展示。当然,还可以将P值等信息添加在图上。其实我们之前好几篇文章做过双侧柱状图,但不足之处是没有像这篇文章一样,坐标轴位于中间,且通路分别展示在两侧,以及添加更多信息!
接下来盘它,示例数据和注释代码已上传群文件!
读入数据,可以将上下调提前标记分开。
setwd("E:/生物信息学/复现Cell双侧柱状图GO")
A <- read.csv('GO.csv', header = T)
library(ggplot2)
library(tidyverse)
A$group <- ''
A$group[which(A$ratio >0)]='up'
A$group[which(A$ratio <0)]='down'
ggplot作图:
ggplot(A,aes(reorder(Description, ratio),ratio,fill=group))+
geom_col()+
theme_bw()+
theme(panel.grid.major=element_blank(),
panel.grid.minor=element_blank(),
panel.border = element_blank(),
legend.title = element_blank(),
axis.text = element_text(color="black",size=10),
axis.line.x = element_line(color='black'),
axis.ticks.y = element_blank(),
axis.text.y = element_blank(),
legend.position = 'none')+
coord_flip()+
geom_segment(aes(y=0, yend=0,x=0,xend=18.5))+
geom_text(data = A[which(A$ratio>0),],aes(x=Description, y=-0.01, label=Description),
hjust=1, size=4)+
geom_text(data = A[which(A$ratio<0),],aes(x=Description, y=0.01, label=Description),
hjust=0, size=4)+
geom_text(data = A[which(A$ratio>0),],aes(label=Padj),
hjust=-0.1, size=4, color='red')+
geom_text(data = A[which(A$ratio<0),],aes(label=Padj),
hjust=1.1, size=4, color="red")+
scale_fill_manual(values = c("#1084A4",
"#8D4873"))+
scale_x_discrete(expand = expansion(mult = c(0,0)))+
ylim(-0.5, 0.5)+
labs(x='', y='Ratio')
image.png
这样就可以了,如果觉得有用点个赞,分享一下再呗!
更多精彩内容请关注我的公众号《KS科研分享与服务》!