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

Python067

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

前面我给大家详细介绍过

☞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富集分析视频讲解

一:饼图

coord_polar是极坐标的意思,区别以往的笛卡尔坐标。coord_polar()作用是把把笛卡尔坐标变换为极坐标。该函数有theta,start,direction三个参数,后者者顶多是图的微调,需要了解可以查看帮助文件,theta才是关键。极坐标参数theta有两个指标半径和角度,就饼图而言,各部分内容的角度不同,半径相同;而默认theta=”x”,即将x映射为角度,剩下的y映射为半径。这些为前期准备,下面一步步分解这个过程。

饼状图,又称为饼图,能够划分几个扇形的圆形统计图。可以描述量、频率、占比的相对关系。R语言中,可以用graphics包的pie()函数、ggplot2包的geom_bar()配合coord_polar()函数绘制,3D 的饼状图,可以使用 plotrix包的pie3D()函数。本文详细介绍饼状图的绘制。

x: 数值向量,表示每个扇形的面积

labels: 字符型向量,表示各扇形面积标签

edges: 多边形的边数(圆的轮廓类似很多边的多边形)

radius: 饼图半径

main: 饼图标题

clockwise: 逻辑值,用来指示饼图各个切片是否按顺时针做出分割

angle: 设置底纹的斜率

density: 底纹的密度,默认值为 NULL

col: 是表示每个扇形的颜色,相当于调色板

[1] Robert I. Kabacoff (著). R语言实战(高涛/肖楠/陈钢 译). 北京: 人民邮电出版社.

[2] https://www.runoob.com/r/r-pie-charts.html

[3] https://zhuanlan.zhihu.com/p/80415566