能画雷达图的fmsb包:打造属于你自己的‘六边形战士’






能画雷达图的fmsb包:打造属于你自己的‘六边形战士’

小果  生信果  2024-01-28 19:00:51

Hello,各位小伙伴大家好啊,又到了小果的知识分享阶段了,是不是很激动呢?小果可是迫不及待了呢~

不知道各位小伙伴知不知道国乒队长—六边形战士—马龙,他可是超级全满贯男子选手,因其在乒乓球方面强大的各人能力,而被日本媒体称为“六边形战士”。他的强大是毋庸置疑的,但小果更好奇的是,如何才能将他‘六边形’的能力体现出来呢?

想来这种东西肯定是难不倒小果啦,经过小果的查找,发现这是一种名叫‘雷达图’的展示方式,除此之外,它还有网络图、蜘蛛图、星图等别名,主要是用来表现多维数据的图表,它可以将多个维度的数据量映射到坐标轴上,每一个维度的数据都分别代表一个坐标轴,并将每个坐标轴上的数据点用线连接起来就形成了一个多边形。如此点、线、多边形和坐标轴共同组成的图形称为雷达图。

正如大家所看到的样子,目前针对运动员的场上表现多以雷达图来表示,除此之外,在公司汇报时,各部门的开销与预算也可以用它来进行展示。且其在生物信息学中也有非常亮眼的应用,比如通过高通量测序之后,某个基因在不同样本之间的readcount数。今天我们就用这个数据来给大家进行展示!

说到高通量测序,相信大家肯定不会陌生,小果建议大家使用服务器进行高通量数据的处理,因为,有多款数据分析软件面向Linux是开源的,且操作简单,且Linux本身就存在着多种小命令,能达到对数据的清洗、提取和计算的目的。如果大家还没有的话,可以联系小果进行租赁哦~



公众号后台回复“111”

领取本篇代码、基因集或示例数据等文件

文件编号:240124

需要租赁服务器的小伙伴可以扫码添加小果,此外小果还提供生信分析,思路设计,文献复现等,有需要的小伙伴欢迎来撩~
今天我们要用到的R包是一款很经典且简单的可视化工具包——fmsb,那现在就进入咱们今天的练习吧!
#安装和调用R包    install.packages('fmsb')library(fmsb)#读入数据data <- read.table('单基因.txt',header = T,sep = 't')data
#为data添加最小值和最高值区间temp <- rbind(rep(20,10),rep(0,10),data)temp
#简单出图P1 <- radarchart(temp)
#更改所画图形P2 <- radarchart(temp,           pcol = 'black',  #所画图形的线条颜色           pfcol = rgb(0.3,0.14,0.23,0.20),  #填充颜色,这里的前三个属于颜色,最后是透明度               plwd = 2)  #所画线条粗细
#改变底图图形P3 <- radarchart(temp,           cglcol = 'red',  #底图线的颜色           cglty = 1,  #底图线的形式,1是实线,2-6是虚线             cglwd = 0.8,  #底线的宽度           )
#改变标签P4 <- radarchart(temp,           axistype = 1,   #改变坐标轴的标识方式,大家可以分别尝试12           axislabcol = 'black',  #标签颜色           caxislabels = seq(0,20,5),  #标签的显示向量度           vlcex = 0.8  #标签大小)
#整体改变P5 <- radarchart(temp,           axistype = 2,   #改变坐标轴的标识方式           pcol = 'red',  #所画图形的线条颜色           pfcol = rgb(0.3,0.14,0.23,0.20),  #填充颜色           plwd = 2,  #所画线条的线宽           cglcol = 'red',  #底图线的颜色           cglty = 1,  #底图线的形式,1是实线,2-6是虚线             axislabcol = 'yellow',  #标签颜色           caxislabels = seq(0,20,5),  #标签的显示向量           cglwd = 0.8,  #底线的宽度           vlcex = 0.8  #标签大小)
既然我们能单样品进行绘制,那肯定就能绘制多个样品,但是每个样品出一个图的话,的确不好进行相互间的比较,所以我们就要将多个样品在一张图中进行展示,这也是很简单的哦,马上就能实现。
#多组绘制 #读入数据df <- read.table('多基因.txt',sep = 't',header = T)df
#设定每个定量变量的最大值和最小值dt <- rbind(rep(20,5) , rep(0,5) , df)dt    
#分别为填充和边框设置颜色colors_border=c( rgb(0.2,0.3,0.5,0.9), rgb(0.8,0.4,0.5,0.9) , rgb(0.7,0.5,0.1,0.9) )colors_in=c( rgb(0.2,0.5,0.5,0.4), rgb(0.8,0.2,0.5,0.4) , rgb(0.7,0.5,0.1,0.4) )P6 <- radarchart( dt  , axistype=1 , pcol=colors_border , pfcol=colors_in , plwd=2 , plty=1,cglcol="grey", cglty=1, axislabcol="grey", caxislabels=seq(0,20,5), cglwd=0.8,vlcex=0.8)
#添加图例legend(x=1.3, y=1.4, legend = rownames(dt[-c(1,2),]), bty = "n",pch=20 , col=colors_in , text.col = "grey", cex=1.2, pt.cex=2)
   
相信各位小伙伴对单个基因的分布图能清楚的了解。那小果给大家说一下下面这个组合图的用法,拿sample1来说,其各个基因的表达均较高,尤其是gene1和gene8,算是显著高于其余样品的表达量了。但虽说在gene7、9、10中,它的表达略有降低,但是并非差异显著,所以后续我们可以针对gene1和gene8这两个基因在这三个样本中展开研究。
这只是雷达图在转录组中的一个案例,其余像是蛋白质组学的蛋白质结构、代谢组学的生物含量均可引用该包该样式进行分析,其余具体还有哪些应用场景还需要各位小伙伴开发大脑自行探索了哦。但如果各位不想在可视化上花费太多时间,也可以来小果的云生信平台,里面有多个成熟图形的代码,大家只需要将修改好的数据上传,我们就会自动生成图形哦,还支持颜色和字体的自定义哦~快来加入我们吧!
http://www.biocloudservice.com/home.html
   
小果还提供思路设计、定制生信分析、文献思路复现;有需要的小伙伴欢迎直接扫码咨询小果,竭诚为您的科研助力!

定制生信分析

服务器租赁

扫码咨询小果


往期回顾

01

1024G存储的生信服务器,两人成团,1人免单!

02

单个数据库用腻了?多数据库“组合拳”带你打开免疫浸润新思路!

03

孟德尔随机化的准备工作,GWAS数据的网站下载方法

04

跟着小果学复现-手把手带你拿下IF=46.9Nature 级别的主成分分析(PCA)图!!