R语言作图——Facet violin plot
2019-11-17 本文已影响0人
生信了
原创:黄小仙
老铁们,许久未见啦。顺便说一下,最近可不是小仙同学偷懒哟,电脑上个月送修今天刚刚拿回来(想买联想Yoga的同学先问问自己会不会拆电脑换排线,我买的这台用了一个月,送修也用了一个月 )。
最近我可攒了个大招呢,先来看看下面这张图,有没有很眼熟呢?
image
这张图在开始介绍R语言的时候就出现过啦,不过小仙同学当时并不知道怎么画。今天可以秀一把啦。
Step1. 绘图数据的准备
老样子,准备好要作图的csv文件。
数据的格式如下图:列表示一种变量(特征),第一行是列名
a1~a9表示9种基因,TypeA~TypeC表示三种不同的细胞
Step2. 绘图数据的读取
data<-read.csv(“your file path”, header = T)
#注释:header=T表示数据中的第一行是列名,如果没有列名就用header=F
Step3.绘图所需package的安装、调用
#注释:大家要注意今天要用的package安装比较特别哟
install.packages("devtools")
library(devtools)
install_github("kassambara/easyGgplot2")
library(easyGgplot2)
#注释:今天还要用到一个新的函数,reshape2里的melt函数,可以把宽数据变成长数据
install.package("reshape2")
library(reshape2)
df<-melt(data,id.vars = c("type"))
Step4. 绘图<font>
ggplot2.violinplot(data=df,xName='variable',yName='value', #注释:xName表示x轴变量,yName表示y轴变量
groupName='variable', legendPosition="top",
faceting=TRUE,facetingVarNames="type")
image
<font color="red">Step5.美化</font>
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")
image
image
Ps:如果想去掉边框可以加上这一句removePanelBorder=TRUE
到这里已经可以完成facet violin plot了,那么问题来了,怎么才能让图片变成下图这个样子呢?小仙同学用了个很笨的方法,下次分享揭晓答案哟!
image
导出高清图的方法在这里:
R语言作图技巧——导出高清图
R语言作图系列还有:
R语言作图——Histogram
R语言作图——Violin plot
R语言作图——Facet violin plot
R语言作图——Line plot
R语言作图——Density plot
R语言作图——Bubble matrix
R语言作图——Radar chart
(公众号:生信了)
image