[R语言] GO富集分析可视化 GOplot::GOCircle 查看GOplot内示例数据的格式,对自己的数据做处理
观察结论:
观察自己的两个数据表:
table.legend 设置为T时会显示表格
本图中表格和图例是出图后剪切拼合而成,没有用R中的拼图包
R语言绘图——数据可视化ggplot2 介绍和主要的参数 R 有几种用于制作图形的系统,但 ggplot2 是最优雅和最通用的系统之一 。与大多数其他图形包不同,ggplot2 具有基于图形语法的底层语法,它允许您通过组合独立组件来组合图形 。如果想要更加了解ggplot2 , 请阅读 ggplot2: Elegant Graphics for Data Analysis ,可以从学习本书
所有的图都由数据data,想要可视化的信息 , 映射mapping(即数据变量如何映射到美学属性的描述)组成
1. 图层(layers) 是几何元素和统计变换的集合 。几何对象,简称 geoms , 代表你在图中实际看到的东西:点、线、多边形等等 。统计转换,简称 stats ,总结数据:例如,装箱和计数观察,以创建一个直方图 , 或拟合一个线性模型 。
2. Scales 将数据空间中的值映射到美学空间中的值 。这包括颜色、形状和大小的使用 。Scale还绘制图例和轴,这使得从图中读取原始数据值成为可能(反向映射) 。
3. 坐标(coords) 或坐标系统描述如何将数据坐标映射到图形的平面 。它还提供了轴和网格线来帮助读取图形 。我们通常使用笛卡尔坐标系,但也可以使用其他一些坐标系,包括极坐标和地图投影 。
4. 刻面(facet) 指定如何拆分数据子集并将其显示为小倍数 。这也被称为条件反射或网格/格子 。
5. theme 控制更精细的显示点 , 如字体大小和背景颜色 。
ggplot2有许多参数 , 可根据需求自行选?。咛宀问昵榭杉?
基础绘图:由 ggplot(data,aes(x,y)) geom_ 开始,至少包含这三个组件,可以通过" "不断的添加layers, scales, coords和facets 。
Geoms :几何对象,通常,您将使用geom_函数创建层 , 以下为常用的图形:
geom_bar():直方图,条形图
geom_boxplot() :box图
geom_density() :平滑密度估计曲线
geom_dotplot() :点图
geom_point() :点图
geom_violin() :小提琴图
aes(),颜色、大小、形状和其他审美属性
【r语言绘制go图 r语言shiny画图】要向绘图添加其他变量,我们可以使用其他美学,如颜色、形状和大小 。
按照属性定义
它们的工作方式与 x 和 y 相同,aes():
aes(displ, hwy, colour = class) #按照某个属性着色
aes(displ, hwy, shape = drv) #按照某个属性定义
aes(displ, hwy, size = cyl)#按照某个属性定义
整体自定义
geom_xxx(colour =自定义颜色)
geom_xxx(shape=形状编号)
geom_xxx(size =编号大小定义 0-10)
注意根据需求按照aes()还是geom进行添加属性
以下为R语言中各shape形状编号
scale控制如何将数据值转换为视觉属性的细节 。
labs()和lims() 是对标签和限制进行最常见调整 。
labs(),主要对图形进行调整,注释等
labs()括号内参数:title主标题,subtitle副标题,caption右下角描述,tag左上角
xlab(),x轴命名
ylab() , y轴命名
ggtitle() , 标题
lims()
xlim() ,xlim(a,b) 限制坐标(a,b)
ylim(),ylim(a,b) 限制坐标(a,b)
scale_alpha()透明度尺度
scale_shape(),搭配aes(shape=某个属性)使用
参数:name ,solid =T/F是否填充
scale_size()搭配aes(size=某个属性)使用
参数:name , range =c(0, 10)
1.适用于发散和定性的数据
a.scale_colour_brewer() , scale_colour_brewer(palette =" "),scale_colour_brewer(palette ="Green ")
palette来自RcolorBrewer包,所有面板:
b.scale_colour_manual()
scale_colour_manual(values=c( ))可以 自定义颜色 ,常用的参数
values可直接定义颜色,但是建议使用命名向量,例如
values=c("8"="red", "4"="blue", "6"="darkgreen", "10"="orange")
PS:注意在aes(colour=factor()),一定要把因素转换为factor型,否则无效
2.适用于连续的值,渐变颜色
a.scale_colour_gradient()
scale_colour_gradient (low =" ",high=" ") , 根据值大小定义颜色,创建两个颜色梯度(低-高),
b.scale_colour_gradient2()
scale_colour_gradient2(low = " ",mid = " ",high = " ")创建一个发散的颜色梯度(低-中-高)
c.scale_colour_gradientn()
创建一个n色渐变,scale_colour_gradientn(colours =许多R语言中的颜色面板),
默认坐标系是笛卡尔 coord_cartesian()
一般不会修改
facet_grid() , 在网格中布置面板
facet_grid(rows = vars() );cols或rows = vars(因素),图形按列或行分割
facet_wrap()
facet_wrap(vars(), ncol =n) ,ncol或者nrow,分为多少行多少列
theme_bw(),可以覆盖所有主题 , 背景变为白色,我们在文章中所用的图片大都需要该背景 。
或者用 theme_classic(),同时去除了网格线
theme(),修改主题的组件 , 里面涉及多个参数,根据需求调整
常见参数:
legend.position,图例的位置,包括 "left" 左, "right" 右,"bottom" 下, "top" 上和"none",不显示
【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绘制地图这里主要介绍下在R语言中绘制地图的个人琢磨的思路 。绘制地图步骤有三:
你得需要绘制地图;(约等于废话)
你得有要绘制地图的地理信息,经纬度啊,边界啊等等;
你得利用2的数据在R中画出来 。
以上步骤中,目前最关键的是2 , 一旦2的数据有了,在R中不就是把它们连起来嘛,这个对于R来说就是调戏它,就跟全民调戏小黄鸡一样 。
R语言中绘制地图的思路也是由于2的获取方式不一样而分开的 。
第一种思路:有一些R包中存储着常见地图的数据,比如maps包中存有世界地图、美国地图、美国各州郡地图、法国地图以及加拿大城市地图等,加载了这个包,就可以轻松愉快地绘制上述地图 。mapdata包中存有中国地图的数据,但是比较旧了,这个数据 , 重庆还没有从四川分出来呢 。
第二种思路:我先去一个地方所画图的地理数据,然后读入R进行绘制 。比如由于mapdata中的中国地图比较久远了,谢老大的《终于搞定中国分省市地图》一文中就介绍了,先从国家基础地理信息中心中国各省市的地理数据,之后再绘制 。后来肖凯老师又介绍googleVis包也可以按照这个思
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是斜率 。
关于r语言绘制go图和r语言shiny画图的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。
推荐阅读
- 九宫格视频用什么软件,制作九宫格视频的软件
- 什么cpu是洋垃圾,cpu洋垃圾真的不好吗
- 怎么设置小程序加会员,怎么设置小程序加会员功能
- 营养卖货直播,直播卖营养品
- 如何营销微信营销方案,微信营销具体步骤
- 冒险岛游戏打开弹不出界面,冒险岛游戏打开弹不出界面怎么回事
- 书店如何做新媒体运营开发,新媒体环境下实体书店的转型之路
- c语言读文本文件的函数 c语言读文本文件的函数是什么
- sqlserver支持中文,sql语言中文