go用r语言做图 go分析r语言作图

[R语言] GO富集分析可视化 GOplot::GOCircle 查看GOplot内示例数据的格式 , 对自己的数据做处理
观察结论:
观察自己的两个数据表:
table.legend 设置为T时会显示表格
本图中表格和图例是出图后剪切拼合而成,没有用R中的拼图包
R语言ggplot2做柱形图如何让起始位置不是0? 突然有了灵感,做柱形图的时候可以不用geom_bar()或者geom_col() 直接画柱子的函数,可以用 geom_segment() 画线段的函数,只是需要准备示例数据集的时候稍微做一个调整就可以了
正常柱形图的示例数据集如下
【go用r语言做图 go分析r语言作图】 来自于论文 Seasonal variation in community composition and distributional ranges of birds along a subtropical elevation gradient in China 的figure4
论文中没有找到原始数据,自己构造一份吧 只准备两个物种的数据
这个只有两个物种的数据看起来和论文中的图差别还挺大的,物种准备全了效果就是一样的
小明的数据分析笔记本
R语言绘制好看的饼图、空心饼图饼图或者说扇形图在统计分析结果展示中非常常用,R语言自带做饼图的函数pie , 做起来非常简单,只需提供比例,样品名称即可 。
默认的颜色只有6中,循环使用的 , 不过这个颜色可以自定义 。
用pie作图其实就够了,但奈何很“卷” , 有其他好看的饼图,所以接下来还是结合ggplot2与ggforce做可以变换的饼图,例如空心饼图 。单独用ggplot2作图比较繁琐,不建议去尝试了,太费时间没必要 。
先做一个基本的饼图 。
要想得到空心饼图 , 只需要将geom_arc_bar参数中r0改为1即可 。
想要分割饼图,geom_arc_bar中添加explode参数 。
可以发现,以上作图有一个bug就是添加比例标记很麻烦,要想实现自动化需要编写函数很麻烦 。参考:。可以先将每个标签角度计算好 , 再添加,结果还好 。
好了以上就是饼图的内容了,其本质是为了统计比例,结果解读比较直观,我们也是跟风做了一些变换的图形,其实最简单的饼图就可以了,各取所需 。此外,还有很多其他方法制作饼图,感兴趣的自行百度了解 。
【R语言】解决GO富集分析绘图,标签重叠问题 前面我给大家详细介绍过
?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语言画图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:110f=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:50y=x^2 x 1z=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粘贴几行上来,我也试试;
R语言可视化之ggplot2——KEGG通路富集分析之前分享了如何用ggplot2可视化GO分析go用r语言做图的结果 。既然做了GOgo用r语言做图,当然少不了KEGG了 。
同样go用r语言做图的go用r语言做图,我们从 DAVID 获取KEGG pathway的结果 。
对于KEGG,我比较喜欢做气泡图,这样用两种形式的图结合在一起,效果更丰富更好看一点 。
关于go用r语言做图和go分析r语言作图的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读