【R语言】--- 直方图

Python012

【R语言】--- 直方图,第1张

直方图(Histogram),又称质量分布图,是一种统计报告图,由一系列高度不等的纵向条纹或线段组成,表示数据分布的情况。 一般用横轴(X轴)表示数据类型,纵轴(Y轴)表示分布(相应值的频数)情况。

绘制直方图,首先要对数据进行分组,然后统计每个分组内数据元的数量。 在平面直角坐标系中,横轴标出每个组的端点,纵轴表示频数,每个矩形的高代表对应的频数,称这样的统计图为频数分布直方图。一般要了解以下几个名词的概念:

组数:统计数据时,把数据按照不同的范围分成几个组,分成组的个数称为组数;

组距:每一组两个端点的差;

频数:分组内的数据元的数量除以组距;

1、显示各组频数或者数量分布情况;

2、显示各组间频数或数量的差异;

可以利用hist()函数进行绘制:

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

[2] https://www.cnblogs.com/xudongliang/p/6913363.html

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

前面我给大家详细介绍过

☞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中命名为test,运行以下数据就能得到你要的条形图了

tp <- barplot(test$Length_distribution, names.arg=test$Sequence_size, las =2, ylim=c(0,30000),col="black")

text(tp, test$Length_distribution, labels =test$Length_distribution,pos=4,srt=90,offset=0)