R语言画GO分析柱状图 r语言绘制柱形图

【R语言】解决GO富集分析绘图,标签重叠问题

前面我给大家详细介绍过

宁津ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!

☞GO简介及GO富集结果解读

☞四种GO富集柱形图、气泡图解读

☞GO富集分析四种风格展示结果—柱形图,气泡图

☞KEGG富集分析—柱形图,气泡图,通路图

☞ DAVID GO和KEGG富集分析及结果可视化

也用视频给大家介绍过

☞ GO和KEGG富集分析视频讲解

最近有粉丝反映说,利用clusterProfiler这个包绘制GO富集分析气泡图和柱形图的时候,发现GO条目的名字都重叠在一起了。

气泡图

柱形图

这个图别说美观了,简直不忍直视。经过我的认真研究,发现跟R版本有关。前面我给大家展示的基本都是R 3.6.3做出来的图。很多粉丝可能用的都是最新版本的R 4.1.2。

我们知道R的版本在不停的更新,相应的R包也在不停的更新。我把绘制气泡图和柱形图相关的函数拿出来认真的研究了一下,终于发现的症结所在。

dotplot这个函数,多了个 label_format 参数

我们来看看这个参数究竟是干什么用的,看看参数说明

label_format :

a numeric value sets wrap length, alternatively a custom function to format axis labels. by default wraps names longer that 30 characters

原来这个参数默认值是30,当标签的长度大于30个字符就会被折叠,用多行来展示。既然问题找到了,我们就来调节一下这个参数,把他设置成100,让我们的标签可以一行展示。

是不是还是原来的配方,还是熟悉的味道

同样的柱形图,我们也能让他恢复原来的容貌。

关于如何使用R做GO和KEGG富集分析,可参考下文

GO和KEGG富集分析视频讲解

[R语言] GO富集分析可视化 GOplot::GOCircle

查看GOplot内示例数据的格式,对自己的数据做处理

观察结论:

观察自己的两个数据表:

table.legend 设置为T时会显示表格

本图中表格和图例是出图后剪切拼合而成,没有用R中的拼图包

R语言绘图(ggplot2、ggpubr)从入门到精通04--柱状图美化之调色

本系列课程要求大家有一定的R语言基础,对于完全零基础的同学,建议去听一下师兄的《生信必备技巧之——R语言基础教程》。本课程将从最基本的绘图开始讲解,深入浅出的带大家理解和运用强大而灵活的ggplot2包。内容包括如何利用ggplot2绘制散点图、线图、柱状图、添加注解、修改坐标轴和图例等。

本次课程所用的配套书籍是: 《R Graphic Cookbooks》

除了以上的基本图形外,师兄还会给大家讲解箱线图、提琴图、热图、火山图、气泡图、桑基图、PCA图等各种常用的生信图形的绘制,还不赶紧加入收藏夹,跟着师兄慢慢学起来吧!

柱状图可能是最常用的一种数据可视化。它们通常用于显示数值(在y轴上),用于显示不同类别的数值(在x轴上)。例如,柱状图可以用来显示四种不同商品的价格。柱状图通常不适合显示一段时间内的价格,因为时间是一个连续的变量。

在制作柱状图时,您应该注意一个重要的区别:柱状图的高度有时表示数据集中的案例数,有时表示数据集中的值。记住这一区别——这可能会引起混淆,因为它们与数据的关系非常不同,但两者使用相同的术语。

拓展: position参数: 此处的position主要是指对图像的微调,最常见的应用是在分组的柱形图(bar)中,因为分组的柱形图会产生组内堆积和不堆积两种主要效果。

R语言处理PCR数据,一步画柱状图、添加显著性标志并实现截断

PCR数据要有三列,一列是组名,一列是内参基因的CT值,一列是目的基因的CT值,计算方法是-2 ∆∆Ct 法,实现一步出图用的是 ggpubr ,实现截断则是Y叔出手的 ggbreak

以前很少有包可以完美实现这个功能,我以前写过 R做截断柱状图并加显著性统计 可以实现,但Y叔出手写了个 ggbreak 包,完美的就解决了

其实还有一个 pcr 的包也能简单实现,而且自动计算mRNA相对表达定量,而且对照组定量是1,更加科学,但是表格只是两列CT值,还要重新定义组,所以要先提取一下表格,处理一下数据。

也可以截断,还是 ggbreak

R语言,如何画图.....

q1, 首先要确定是barplot还是hist,如果是barplot的话,应该不存在breaks的问题,因为barplot的传入参数是个矩阵;

我假设你要画的是个hist,我偶遇过这个问题,我的理解是hist的breaks的值要能被范围整除才行;比如x=1:200,break=7的话,就只能画出4个柱来,但如果breaks=10就没问题;基本上是这样的,偶尔也有例外;比如break=5就不行....奇怪得很

最后,没办法的办法,就只能用barplot代替hist了,barplot肯定不会有这个问题,统计下hist参数中的分布情况,转换成矩阵,用barplot吧;

q2, 貌似一般都用一组因素把这些类别区分开,我用abcde,表示你的小学,中学...了,比如这样:

a=1:7;b=8:10;c=c(9,10,11);d=c(40,55);e=100:110

f=factor(c(rep(1,sum(length(a),length(b),length(c))),rep(2,sum(length(d),length(e)))))#先用c()生成数组,在转换成factor,其实数组也ok的,不过plot()中两个数组和factor不一样 

x=c(a,b,c,d,e)

plot(x~f)

q3, 就我所知不行;yes或no一定也要是能映射到x,y范围内的点才行;你是想表示分类结果吗?如果是的话,通常用颜色,或者在点旁边的text表示。

q4, 举个例子吧

x=-50:50

y=x^2+x+1

z=10*abs(x)+1

plot(x,y,type='l')

lines(x,z,lty=3)

legend(c('type1','type2'), x=-20,y=2500, col=c('black','red'), lty=c(1,3))

legend的x和y是legend的左上角,匿名参数是类型名称,col,lty,pch 是对应的颜色,线类型,和点类型。

最后,我现在多用ggplot2,如果不抵触的话可以看看,和R的基础作图包思路不是很一样,但是图很清新的;

如果还有问题,建议把数据集data.frame粘贴几行上来,我也试试;

转录组不求人系列(十三): GO、KEGG富集个性化作图

当富集分析完成,拿到如下的分析结果后,就可以进行作图了。

富集分析结果的可视化无非就是柱状图和气泡图,但是公司默认出图实在是太丑,所以还是自己动手修改修改。

一、常规柱状图(ggplot2)

横轴为gene counts,或者用-logP也行,填充相应的用P值或者gene counts。ggplot画图的好处就是可以进行很多调整。

二、常规气泡图(ggplot2)

气泡图与柱状图如出一辙,只是在展示方式上出现了差别。一个用geom_bar()函数,气泡图类似于散点图用geom_point()函数。

三、上下调同时展示(ggplot2)

很多时候研究者拿到差异基因后,上下调基因是分别富集的,在展示上需要同时体现二者,我们之前提到metascape可以做到: 转录组不求人系列(十二): Cell文章最喜欢用的差异基因GO、KEGG富集分析工具 ,除此之外,之前讲过的气泡图也可以展现多组的结果: 复现《nature communications》图表(四):ggplot画多组富集气泡图 。这里我们继续提供一种bar图的展示方式。将down的数值调整为负,做一列分组,就可以展示了。

当然了,以上所说的可视化还是比较常规,在基础上可以自己做调整。也有一些文章总是标新立意,有很多奇特的展现方式,我们会在之后的系列中讲解。

网页题目:R语言画GO分析柱状图 r语言绘制柱形图
分享地址:https://www.cdcxhl.com/article0/docgjio.html

成都网站建设公司_创新互联,为您提供品牌网站制作小程序开发服务器托管关键词优化电子商务网站收录

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设