GO富集分析可视化——柱形图和棒棒糖图

        在RNA-seq的GO富集分析中,若遇到较多的基因一起拿去GO富集分析,此时得到的GO term玩玩很多,而且GO term还可以分为BP(Biological Process)、CC(Cellular Component)和MF(Molecular Function),因此多的时候甚至能富集到100多个GO terms,此时可以借助柱形图或者棒棒糖进行可视化。

library(tidyverse)
library(cowplot)
library(ggsci)
library(openxlsx)

#=========================导入数据==========================
GO_term <- read.xlsx('NPvsCK.xlsx') %>%
  dplyr::select(Category, Description, Count)



#=========================棒棒糖图==========================


ggplot(data = GO_term, aes(x = Description, y = Count)) +
  geom_segment(aes(x = Description, y = 0, xend = Description, yend = Count, color = Category)) +
  geom_point(size = 4, aes(color = Category))+
  scale_color_npg() +
  scale_y_continuous(expand = c(0,0), limits = c(0,90)) +
  theme_half_open() +
  theme(axis.text.x = element_text(angle = 90,
                                   size = 7,
                                   hjust = 1,
                                   vjust = 0.2))

        从图中可以看出,虽然ggplot帮助我们画出了棒棒糖图,但是它并没有按照BP,MF,CC以及Count的数目进行排序,这是要是因为,我们没有设置Description的因子(factor),因此ggplot默认按Description的字母顺序进行排列,所以就显得画出来的图很无序,不美观。接下来就需要设置factor的levels。

        要想设置按BP,CC,MF的顺序,以及Count的顺序进行绘图,就需要修稿Description这一列的factors里面的levels,因此我们利用arrange, 以Category为主要关键字,Count为次要关键字进行排序,从而得到新的levels的Description的顺序,代码如下:

GO_term <- read.xlsx('NPvsCK.xlsx') %>%
  dplyr::select(Category, Description, Count) %>%
  #先进行排序,然后得到排序后的Description的顺序
  arrange(Category, desc(Count)) %>%
  #将排序好后的Description赋值给factor里面的levels
  mutate(Description = factor(Description, levels = Description))

设置好Description这列的因子(factor)里面的levels后就有可以进行绘图了,代码还是上述代码:

ggplot(data = GO_term, aes(x = Description, y = Count)) +
  geom_segment(aes(x = Description, y = 0, xend = Description, yend = Count, color = Category)) +
  geom_point(size = 4, aes(color = Category))+
  scale_color_npg() +
  scale_y_continuous(expand = c(0,0), limits = c(0,90)) +
  theme_half_open() +
  theme(axis.text.x = element_text(angle = 90,
                                   size = 7,
                                   hjust = 1,
                                   vjust = 0.2))

从上图可以看出,修改levels后画出的图顺序并不混乱。而且容易看出哪些GO term里面的基因较多。

当然,我们也可以展示为柱形图,代码如下:

 

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python电影数据分析柱形图可视化是指使用Python编程语言对电影数据进行分析,并将分析结果用柱形图进行可视化展示的过程。Python是一种高级编程语言,被广泛应用于数据科学领域。 Python电影数据分析的过程包括收集电影数据、清洗数据、分析数据并可视化展示。柱形图是一种最常用的数据可视化方式之一,它非常直观地表示出数据的分布情况,使得读者很容易理解数据分析的结果。 在电影数据分析中,柱形图可以用来表示不同电影类别的数量、不同电影票房收入的分布、电影评分的情况等。数据准备好后,可以使用Python中的数据分析库,如Pandas和NumPy等来分析数据。然后,使用Python的可视化库,如Matplotlib和Seaborn等来生成柱形图,进而呈现分析结果。Matplotlib可生成基础的柱形图,Seaborn可以生成更复杂且美观的柱形图,并且可以在柱形图上添加其他元素,如回归线、置信区间等。 Python电影数据分析柱形图可视化是一种非常有用的数据分析工具,能够协助学者和业界专业人士更好地了解电影市场的现状,为电影制片人和投资者提供决策依据。 ### 回答2: Python电影数据分析柱形图可视化是指使用Python编程语言对电影数据进行分析并通过柱形图分析结果进行可视化呈现。随着大数据时代的到来,数据分析在各行各业中变得越来越重要,而电影行业也不例外。通过对电影数据进行分析,我们可以了解电影市场的现状、电影类型的受欢迎程度、电影票房的变化趋势等信息。 在Python电影数据分析柱形图可视化中,我们需要使用Python中的数据分析可视化工具,比如Pandas、Matplotlib和Seaborn等。首先,需要准备电影数据,可以从一些公开的电影数据库中获取,例如IMDb、豆瓣电影等。然后,我们需要对数据进行清洗、处理和分析,比如统计电影类型、制片国家、上映时间、票房等信息。最后,我们可以使用柱形图分析结果进行可视化呈现,以便更好地展示数据分析的结果。 柱形图是一种常用的数据可视化方式,可以用来展示不同类别的数据之间的差异和变化趋势。在Python电影数据分析柱形图可视化中,柱形图可以用来展示电影类型的数量、电影票房的收入、制片国家的分布等信息。通过柱形图,我们可以直观地看出不同类型的电影哪些更受欢迎,哪些更受观众欢迎,以及电影市场的整体趋势和变化。因此,Python电影数据分析柱形图可视化在电影行业中具有广泛的应用价值。 ### 回答3: Python是一种流行的编程语言,可用于数据分析可视化。Python中有许多用于生成数据可视化的库,包括Matplotlib,Seaborn和Plotly等。 在电影数据分析中,柱形图可视化是一种常见的表类型,可以用于比较不同电影的特定参数,如票房收入、IMDB评分、上映时间等等。使用Python库生成柱形图是相对简单的。 首先,需要安装并导入表库,例如Matplotlib。然后,可以从csv文件或数据库中读取电影数据并进行处理,如排序、过滤或计算统计信息。最后,使用Matplotlib的柱形图函数或子函数将处理后的数据可视化。 例如,使用Python处理电影票房收入数据可视化柱形图,可以按照不同的国家或地区绘制票房收入的柱形图。更精细的可视化,可以使用Matplotlib的颜色映射,将颜色编码映射到电影票房收入或IMDB评分等值上。 总之,Python电影数据分析柱形图可视化是一种非常有用的技术工具,可以方便、快速地对电影票房数据进行可视化展示,方便数据分析和预测。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值