查看: 15|回复: 0

[教程] R语言绘制Facet violin plot小提琴刻面图实现示例

[复制链接]

2

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2008-3-17
发表于 2022-2-18 10:10:36 | 显示全部楼层 |阅读模式

老铁们,许久未见啦。顺便说一下,最近可不是小仙同学偷懒哟,电脑上个月送修今天刚刚拿回来(想买联想Yoga的同学先问问自己会不会拆电脑换排线,我买的这台用了一个月,送修也用了一个月 )。
最近我可攒了个大招呢,先来看看下面这张图,有没有很眼熟呢?

在这里插入图片描述

这张图在开始介绍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. 绘图

ggplot2.violinplot(data=df,xName='variable',yName='value',         #注释:xName表示x轴变量,yName表示y轴变量
                   groupName='variable', legendPosition="top",
                   faceting=TRUE,facetingVarNames="type")

在这里插入图片描述

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了,那么问题来了,怎么才能让图片变成下图这个样子呢?小仙同学用了个很笨的方法,下次分享揭晓答案哟!

在这里插入图片描述

以上就是R语言绘制Facet violin plot小提琴刻面图实现示例的详细内容,更多关于R语言绘制Facet violin plot小提琴刻面图的资料请关注琼殿技术社区其它相关文章!

您可能感兴趣的文章:
  • R语言绘图学习教程VennDiagram绘制venn
  • R语言绘制维恩图ggvenn示例详解
  • R语言绘制Bubble Matrix气泡矩阵图
  • R语言绘制line plot线图示例详解
  • R语言绘制小提琴图violin plot实现示例
  • R语言学习VennDiagram包绘制韦恩图示例
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部