资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

go用r语言做图 r语言进行go分析

如何用R语言画图

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

10年建站经验, 成都网站制作、做网站客户的见证与正确选择。创新互联提供完善的营销型网页建站明细报价表。后期开发更加便捷高效,我们致力于追求更美、更快、更规范。

我假设你要画的是个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语言] GO富集分析可视化 GOplot::GOCircle

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

观察结论:

观察自己的两个数据表:

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

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

R语言可视化及作图2--低级绘图函数

R语言绘图系列:

⚠️在不确定将图例添加在什么位置时,可使用 locator函数 。

locator()函数可以定位图上的点。运行locator函数之后在图上随便点一个点,点击finish就会返回刚刚那个点的位置坐标。

使用text函数在每个条图下面添加标签

设置气泡透明度

⚠️调色板函数中有个参数叫alpha,也可以设置气泡的透明度。(在ggplot2中很容易实现)

关于layout函数:

【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语言可视化及作图7--ggplot2之标签、图例和标题绘制

R语言绘图系列:

使用geom_label绘制标签散点图

绘制点,并通过nudge参数对标签进行x轴和y轴上的平移

使用angle参数对标签角度进行设置

geom_label可以使用fill对颜色进行填充,fontface设置字体,geom_text不能填充颜色

parse参数意思是前面传入的是一个数学表达式,size定义标签相对大小。

画一个散点图

annotate函数传入标签

添加矩形

添加短线段

2.1 guide_legend函数(主要参数:color, shape, size)

图例调整函数也属于标度函数的一类,但不可以直接使用加号来连接,必须放在函数中,作为一个参数。

guide_colorbar和guide_legend设置的是不同的图例,guide_colorbar定义色条图例,guide_legend定义普通图例。

2.2 标度函数scale

对于连续型变量,使用的参数是scale_xxx_continous(),对于分类型变量,使用的是scale_xxx_discrete()。

2.3:theme函数

在theme函数中,与图例有关的主要参数有:

标题主要有五种:主标题,副标题,角注,x轴标签和y轴标签

ggtitle()只能定义标题和副标题,默认的位置在左上角。

R语言可视化及作图6--ggplot2之点图、条形图、盒形图、直方图、线图

R语言绘图系列:

标度控制着数据到图形属性的映射,标度将我们的数据转化为视觉上可以感知的东西,比如大小、位置、颜色、形状等。标度也为我们提供了读图时所使用的工具,比如说坐标轴和图例。总的来说,可以称为引导元素。标度函数控制元素的属性,可以理解为图形的遥控器,可以用它来调整画布大小、颜色等等。此前学的shape,color,size等参数和标度函数相比显得不够灵活。

scale_fill_brewer 调色板函数

geom_errorbar()

geom_crossbar()

geom_linerange() 绘制线段

geom_pointrange() 绘制点

pointrange:点画线

首先绘制一张盒形图

在图上显示出观测值

值得注意的是,图上点的多少并不能完全反应原始数据的多少,因为有的点可能因为点过于密集就会被覆盖,看起来是一个点,其实可能是多个点。

因此可以使用geom_jitter函数将不同的点区分开(jitter是震荡散点),width设置如果遇到相同的点,点向左右方平移的距离。alpha设置透明度。

黑色点是离群点

还可以绘制卡槽图

varwidth参数会根据该水平下观测值的个数(n值)改变盒形图的宽度。(这里宽度去的不是观测个数的绝对值,而是平方根,以缩小差距。)

给盒子上色

分组盒形图,用不同颜色区分

画水平的盒形图

使用coord_flip函数(坐标轴翻转函数)

绘制一张直方图

bins可以设置直方图条柱的数目,默认为30。当bins和binwidth(设置条柱宽度)同时设置时,默认以binwidth为准。

新加入变量cut,根据新变量在price水平上进行一个计数

y轴由count变为density,绘制概率密度

注意下面density的写法,前后都要加..

绘制概率密度曲线:geom_density函数

堆栈密度概率曲线

geom_line/geom_path/geom_step

绘制一个简单的线图

绘制点线图,点和线需要分别添加。

如上图,线在点之上,是因为先投射了点,又投射了线。

先投射线,点就出现在了线之上。

线的颜色出现了渐变

geom_smooth函数:绘制拟合曲线

methods还有其他的方法,如glm:广义线性模型;losses:纯粹平滑;gam:广义加性模型等等(lm和glm最常用)

geom_hline绘制水平线,geom_vline绘制垂直线。xintercept和yintercept是截距,slope是斜率。


新闻标题:go用r语言做图 r语言进行go分析
当前URL:http://cdkjz.cn/article/hghgcs.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220