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

Hello,各位小伙伴大家好啊,又到了小果的知识分享阶段了,是不是很激动呢?小果可是迫不及待了呢~
不知道各位小伙伴知不知道国乒队长—六边形战士—马龙,他可是超级全满贯男子选手,因其在乒乓球方面强大的各人能力,而被日本媒体称为“六边形战士”。他的强大是毋庸置疑的,但小果更好奇的是,如何才能将他‘六边形’的能力体现出来呢?
想来这种东西肯定是难不倒小果啦,经过小果的查找,发现这是一种名叫‘雷达图’的展示方式,除此之外,它还有网络图、蜘蛛图、星图等别名,主要是用来表现多维数据的图表,它可以将多个维度的数据量映射到坐标轴上,每一个维度的数据都分别代表一个坐标轴,并将每个坐标轴上的数据点用线连接起来就形成了一个多边形。如此点、线、多边形和坐标轴共同组成的图形称为雷达图。
正如大家所看到的样子,目前针对运动员的场上表现多以雷达图来表示,除此之外,在公司汇报时,各部门的开销与预算也可以用它来进行展示。且其在生物信息学中也有非常亮眼的应用,比如通过高通量测序之后,某个基因在不同样本之间的readcount数。今天我们就用这个数据来给大家进行展示!
说到高通量测序,相信大家肯定不会陌生,小果建议大家使用服务器进行高通量数据的处理,因为,有多款数据分析软件面向Linux是开源的,且操作简单,且Linux本身就存在着多种小命令,能达到对数据的清洗、提取和计算的目的。如果大家还没有的话,可以联系小果进行租赁哦~
公众号后台回复“111”
领取本篇代码、基因集或示例数据等文件
文件编号:240124

#安装和调用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,   #改变坐标轴的标识方式,大家可以分别尝试1和2           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)
 
    
定制生信分析
服务器租赁
扫码咨询小果


往期回顾
| 01 | 
| 02 | 
| 03 | 
| 04 |