今天小仙同学给大家分享下Radar chart的作图方法,其实雷达图我们在生活中能经常可以见到,比如大家很喜欢玩的王者荣耀里就有。通过简单的图形对比,人物特点一目了然。
也经常用来评估学生的成绩和产品的性能。
在生信领域,我们也可以用来比较评估样品的基因表达情况啦。
作图数据如下:
画出来的效果图如下:
作图方法:
Step1. 绘图数据的准备
首先还是要把你想要绘图的数据调整成R语言可以识别的格式excel中保存成csv格式。数据的格式就在上面啦。
Step2. 绘图数据的读取
data<-read.csv(“your file path”, header = T)
Step3.绘图所需package的安装、调用
install.packages("fmsb")
library(fmsb)
Step4.绘图数据格式调整
radarfig<-rbind(rep(15,10),rep(0,10),data) #在原有的数据上增加了两行,
#第一、二行分别是每个纵轴的最大值、最小值,也可手动添加
Step5.绘图
radarchart(radarfig, axistype=1,
pcol=rgb(69/255,137/255,137/255) , pfcol=rgb(69/255,137/255,137/255,0.6) , plwd=4 ,seg=5 ,
cglcol="grey", cglty=1, cglwd=2,axislabcol="black" ,caxislabels=seq(0,15,3),
vlcex=0.7,calcex=0.7)
如果从RStudio直接导出png或者jpeg格式的图片,还是会有之前小仙同学提过的“锯齿状”线条。之前的解决方案是导出eps格式,在Adobe Illustrator里打开再导出成需要的格式。但本小仙发现一个“巨坑”,就是RStudio导出的eps图形没有透明度,需要在AI里手动调整透明图。
(其实R代码的这一部分本小仙很快就写好了,调整填充透明度费了老大劲,实名diss此bug)
填充透明度调整方法如下:
1.取消编组
2.选中线条,对象—实时上色—建立
3.选中线条,对象—拓展
4.更改填充颜色,输入相应颜色RGB数值
5.删掉图形白色背景
6.外观—填色—不透明度—调整数值
(⊙o⊙),小仙同学也觉得这种方法有点麻烦,不过目前没有找到更好的方法啦
(据说excel也可以画雷达图,嫌麻烦的同学可以移步excel啦,能又快又好画出图就是好方法)
今天的分享就到这里啦。