双侧柱状图展示上下调GO富集结果

这是一个双侧柱状图,特点是,可以理解为上下调分开展示。当然,还可以将P值等信息添加在图上。其实我们之前好几篇文章做过双侧柱状图,但不足之处是没有像这篇文章一样,坐标轴位于中间,且通路分别展示在两侧,以及添加更多信息!

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

  • 10
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现双类目轴柱状图错开展示,可以通过设置柱状图系列的 barCategoryGap 和 barGap 属性来实现。具体步骤如下: 1. 设置 xAxis 类目轴的 boundaryGap 属性为 true,使得柱状图两端不留空白。 2. 设置 yAxis 为类目轴,同时设置 yAxis 的 inverse 属性为 true,使得 y 轴的方向从上到下。 3. 在系列中设置 barCategoryGap 和 barGap 属性,通过调整这两个属性的来实现柱状图的错开展示效果。 下面是一个示例代码: ```javascript option = { xAxis: { type: 'category', data: ['A', 'B', 'C', 'D'], boundaryGap: true // 设置类目轴两端不留空白 }, yAxis: { type: 'category', data: ['Category1', 'Category2', 'Category3'], inverse: true // 设置 y 轴方向从上到下 }, series: [ { name: 'Series1', type: 'bar', barCategoryGap: '50%', // 设置柱状图系列的类目间距 barGap: '-100%', // 设置柱状图系列的柱间距 data: [[0, 0, 10], [1, 1, 20], [2, 2, 30], [3, 0, 40]] // 数据格式为 [x轴索引, y轴索引, ] }, { name: 'Series2', type: 'bar', barCategoryGap: '50%', barGap: '-100%', data: [[0, 1, 50], [1, 2, 60], [2, 0, 70], [3, 1, 80]] }, { name: 'Series3', type: 'bar', barCategoryGap: '50%', barGap: '-100%', data: [[0, 2, 90], [1, 0, 100], [2, 1, 110], [3, 2, 120]] } ] }; ``` 在上面的示例代码中,每个系列对应一个类目轴的数据。通过设置 barCategoryGap 和 barGap 属性,实现了柱状图的错开展示效果。你可以根据实际情况调整 barCategoryGap 和 barGap 的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值