能画雷达图的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)
'black', #所画图形的线条颜色 pfcol = rgb(0.3,0.14,0.23,0.20), #填充颜色,这里的前三个属于颜色,最后是透明度 plwd = 2) #所画线条粗细 更改所画图形P2 <- radarchart(temp, pcol =
'red', #底图线的颜色 cglty = 1, #底图线的形式,1是实线,2-6是虚线 cglwd = 0.8, #底线的宽度 ) 改变底图图形P3 <- radarchart(temp, cglcol =
#改变标签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 |