生信绘图good code

复现Cell图表:双侧柱状图展示上下调GO富集结果

2022-06-10  本文已影响0人  KS科研分享与服务

复现《cell》图表往期内容:

1、复现《Cell》图表:柱状图|添加分组注释|legend设置

2、复现《Cell》图表:双侧柱状图及坐标轴设置|ComplexHeatmap图例设置

3、复现《Cell》图表:多形状气泡图

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科研分享与服务》!

上一篇下一篇

猜你喜欢

热点阅读