首页 > > > R语言作图——Facet violin plot
原创:黄小仙
老铁们,许久未见啦。顺便说一下,最近可不是小仙同学偷懒哟,电脑上个月送修今天刚刚拿回来(想买联想Yoga的同学先问问自己会不会拆电脑换排线,我买的这台用了一个月,送修也用了一个月)。

最近我可攒了个大招呢,先来看看下面这张图,有没有很眼熟呢?

这张图在开始介绍R语言的时候就出现过啦,不过小仙同学当时并不知道怎么画。今天可以秀一把啦。小仙并没有找到这种的准确中文名,总之就是把很多张小提琴曲线堆叠在一起。
Step1. 绘图数据的准备
老样子,准备好要作图的csv文件。
数据的格式如下图:列表示一种变量(特征),第一行是列名
a1~a9表示9种基因,TypeA~TypeC表示三种不同的细胞

Step2. 绘图数据的读取
data<-read.csv(“your file path”, header = T)
#注释:header=T表示数据中的第一行是列名,如果没有列名就用header=FStep3.绘图所需package的安装、调用
install.packages("devtools") #注释:大家要注意今天要用的package安装比较特别哟
library(devtools)
install_github("kassambara/easyGgplot2")
library(easyGgplot2)
install.package("reshape2")
#注释:今天还要用到一个新的函数,reshape2里的melt函 数,可以把宽数据变成长数据
library(reshape2)
df<-melt(data,id.vars = c("type"))Step4.绘图
ggplot2.violinplot(data=df, xName='variable', yName='value', groupName='variable', legendPosition="top", aceting=TRUE,facetingVarNames="type")
#注释:xName表示x轴变量,yName表示y轴变量
Step5.美化
ggplot2.violinplot(data=df,xName='variable',yName='value',groupName='variable', legendPosition="top",backgroundColor="white",removePanelGrid=TRUE,
axisLine=c(0.5, "solid", "black"),faceting=TRUE, facetingVarNames="type")

Ps:如果想去掉边框可以加上这一句removePanelBorder=TRUE
到这里已经可以完成facet violin plot了,那么问题来了,怎么才能让图片变成下图这个样子呢?小仙同学用了个很笨的方法,下次分享揭晓答案哟!

如果你有好的方法,可以留言告诉我哦!!
(公众号:生信了)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31537575/viewspace-3136150/ ,如需转载,请注明出处,否则将追究法律责任。