十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1)根据图纸的大小,画出两条互相垂直的射线,作为纵轴和横轴
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、虚拟主机、营销软件、网站建设、株洲网站维护、网站推广。
(2)在横轴上适当分配条形的位置,确定直条的宽度和间隔。
(3)在纵轴上确定单位长度,并标出数量的标记和计量单位。
(4)根据数据的大小,画出长短不同的直条。并标上标题。
(5)若条形太小可适当在条形内画上颜色等区分。
r语言条形图怎么添加图例?
1、把数据拷贝到origin worksheet里面。
2、选中数据,使用“line+symbol”方式绘图。
3、再绘制另外一条线,这时注意是选中第二组数据后,回到graph图形界面,把这组数据图形添加到已有图片上,graph-add plot to layer-line and symbol。
4、进行图标symbol设置,设置为三角形。双击线就会出现plot detail,或者选中线后右键plot details。
5、进行图例显示设置,选中图例/图标,右键properties进入设置,注意格式为“\l(线编号)名称”。
6、录入编辑,其实还可以设置字体什么的等等。
前面我给大家详细介绍过
☞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富集分析视频讲解
之前分享了如何用ggplot2可视化GO分析的结果。既然做了GO,当然少不了KEGG了。
同样的,我们从 DAVID 获取KEGG pathway的结果。
对于KEGG,我比较喜欢做气泡图,这样用两种形式的图结合在一起,效果更丰富更好看一点。
我们输入的数据包含 gene ID 和 vector(单样本)部分,这里的 gene ID 是一个通用概念,可以是基因、转录本、酶或蛋白质。这里的 vector 可以是样本的表达量、倍数变化, p-value, 组蛋白修饰数据等可测量的属性。下面我们以一个 RNA-seq 差异分析后的数据为例,来学习 pathview 的用法。
在 KEGG PATHWAY Database 查询,例如查询小鼠的"Cell Cycle"这条通路:
得到通路 ID 为"04110",物种为"mmu"
我们通过指定 gene.data 和 pathway.id 来观察我们数据里的基因在信号通路“Pathways in cancer”上的表达变化:
相比于原始的 KEGG 图,我们可以使用 graphviz 产生一个新的布局,并且输出 PDF 格式的文件:
以下是输出结果图
如果我们想要运行的更快一点,并且不介意输出图片的大小,我们可以分图层,用 same.layer = F 将节点颜色和标签添加到另一个图层中,并且原来的 KEGG 基因标签会变成官方的 gene symbols :
在此基础上,修改 kegg.native = FALSE ,我们就可以得到一个主图与图例分成两个页面的 PDF 文件
在原始的 KEGG 视图中,一个基因节点可能代表具有相似或者冗余功能的基因/蛋白质,我们可以将这种包含多个基因的节点拆分成独立的节点,这样可以更好的从基因层面而不是节点层面来查看数据。同时也可以通过汇总基因数据来可视化节点数据:
为了画面有更好的清晰度和可读性,默认不分裂节点,也不单独标记每个成员基因。
代谢途径中,除了基因节点还有化合物节点,我们可以尝试利用代谢途径( Propanoate metabolism)整合基因数据和化合物数据。这里的化合物数据包括代谢物、药物,对它们的测量和它们的属性。在这里我们仍然使用之前 RNA-seq 差异分析的数据作为 gene data,然后,我们生成模拟化合物或代谢组数据,并加载适当的化合物 ID 类型以进行演示:
结果如下
pathview 可以集成并将多个样本或状态绘制成一个图,我们可以使用多个重复样本模拟化合物数据:
结果如下,可以看到基因节点和化合物节点被分成多份,对应不同的样本:
我们可以根据将化合物数据分为绝对值大于 5 和小于 5 两类,构成一组离散型数据:
结果如下:
Pathview 包中的主函数是 pathview() ,有着各种参数,是我们用到最多的函数。在这篇文章中,我们介绍了 pathview()的比较常见的用法,包括包安装,数据准备,以及其他有用的特性。我们也可以使用 pathxiew 的网页版,地址是 。此外,Pathview 在数据整合方面有很强大的功能,包含 4800 个物种,能处理的数据属性和格式包括 连续/离散数据、矩阵/矢量、单个/多个样本数据 ,包中还具有强大的 ID 转换功能,这些都值得我们进一步探索。
生活很好,有你更好
查看GOplot内示例数据的格式,对自己的数据做处理
观察结论:
观察自己的两个数据表:
table.legend 设置为T时会显示表格
本图中表格和图例是出图后剪切拼合而成,没有用R中的拼图包
ID转换用到的是 bitr() 函数,bitr()的使用方法:
org.Hs.eg.db包含有多种gene_name的类型
keytypes() :keytypes(x),查看注释包中可以使用的类型
columns() :类似于keytypes(),针对org.Hs.eg.db两个函数返回值一致
select() :select(x, keys, columns, keytype, ...) eg.
函数enrichGO()进行GO富集分析,enrichGO()的使用方法:
举例: