温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何利用R语言的ggplot2包绘制GO富集柱形图

发布时间:2021-12-14 10:50:56 来源:亿速云 阅读:1736 作者:小新 栏目:大数据

这篇文章给大家分享的是有关如何利用R语言的ggplot2包绘制GO富集柱形图的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

一 载入数据集和R包

利用各种生信工具得到富集分析结果,数据列可能不一致,但关键几列都有。

library(ggplot2)data <- read.csv("GO_enrichment_significant.csv",header=TRUE)head(data)

如何利用R语言的ggplot2包绘制GO富集柱形图

二 对上述GO结果绘制基础bar图

参照之前ggplot2使用方法,更改geom即可绘制简单的bar图,按照GO_category分组颜色

ggplot(data=data, aes(x=GO_term,y=Num_of_symbols_in_list_in_GO, fill=GO_category)) + geom_bar(stat="identity", width=0.8)

如何利用R语言的ggplot2包绘制GO富集柱形图

可看出和文献中的差距较大,体现在以下几个方面:

A:标题,坐标轴“业余”;

B:GO_category顺序未按照输入文件,相同GO_category没在一起;

C:横坐标label太长,重叠在一起。

三  “细节”调整GO结果bar图

3.1 坐标轴调整策略

#将GO_term设定为factor即可按照顺序输出GO_term_order=factor(as.integer(rownames(data)),labels=data$GO_term)ggplot(data=data, aes(x=GO_term_order,y=Num_of_symbols_in_list_in_GO, fill=GO_category)) + geom_bar(stat="identity", width=0.8) + coord_flip() +  xlab("GO term") + ylab("Num of Genes") + theme_bw()

如何利用R语言的ggplot2包绘制GO富集柱形图

好像有一点能看了,尝试其他策略。

3.2 调整横坐标label策略

将label调整成一定角度倾斜

COLS <- c("#66C3A5", "#8DA1CB", "#FD8D62")ggplot(data=data, aes(x=GO_term_order,y=Num_of_symbols_in_list_in_GO, fill=GO_category)) +  geom_bar(stat="identity", width=0.8)  +   scale_fill_manual(values = COLS) + theme_bw()  +  xlab("GO term") + ylab("Num of Genes") + labs(title = "The Most Enriched GO Terms")+ theme(axis.text.x=element_text(face = "bold", color="gray50",angle = 70,vjust = 1, hjust = 1 ))

如何利用R语言的ggplot2包绘制GO富集柱形图

嗯 ,标签太长溢出,采取保留GO-term的前三个单词(可以其他策略)后面...代替,可以excel或者R function 解决。

3.3 调整label长度后绘图

GO_term_order=factor(as.integer(rownames(data)),labels=labels)COLS <- c("#66C3A5", "#8DA1CB", "#FD8D62")ggplot(data=data, aes(x=GO_term_order,y=Num_of_symbols_in_list_in_GO, fill=GO_category)) +  geom_bar(stat="identity", width=0.8)  +   scale_fill_manual(values = COLS) + theme_bw() +  xlab("GO term") + ylab("Num of Genes") + labs(title = "The Most Enriched GO Terms")+ theme(axis.text.x=element_text(face = "bold", color="gray50",angle = 70,vjust = 1, hjust = 1 )) 

如何利用R语言的ggplot2包绘制GO富集柱形图

感谢各位的阅读!关于“如何利用R语言的ggplot2包绘制GO富集柱形图”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI