R语言数可视化Split violin plot小提琴图绘制方法
<p>最近小仙同学在好几篇文献里看到了这种小提琴图,暂时就肤浅地认为这是作者为了更好地比较对照组与实验组的差别,所以将同一个基因的小提琴图各画了一半,放在一起。为了跟上可视化的潮流,小仙也来尝试画一下这个没查到正经名字的图。</p><p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202202/2022021714140763.png" /></p>
<h2>Step1. 绘图数据的准备</h2>
<p>首先要把你想要绘图的数据调整成R语言可以识别的格式,建议大家在excel中保存成csv格式。<br />作图数据格式如下:</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202202/2022021714140764.png" /></p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202202/2022021714140865.png" /></p>
<h2>Step2. 绘图数据的读取</h2>
<div class="jb51code"><pre class="brush:ruby;">data<-read.csv(“your file path”, header = T)
#注释:header=T表示数据中的第一行是列名,如果没有列名就用header=F
</pre></div>
<h2>Step3. 绘图所需package的安装、调用</h2>
<div class="jb51code"><pre class="brush:ruby;">library(ggunchained)
library(reshape2)
# 注释:package使用之前需要调用
# 注释:今天用的ggunchained是ggplot2一个拓展包,今天要用的函数geom_split_violin()需要调用这个包,
# ggunchained安装语句: library(devtools)install_github("JanCoUnchained/ggunchained")
# devtools安装语句:install. packages("devtools")
</pre></div>
<p>Step4. 绘图</p>
<div class="jb51code"><pre class="brush:ruby;">data_melt<-melt(data,id.vars = "Sample")
# 注释:将原始的宽数据变成长数据,方便画图
p<-ggplot(data_melt,aes(x=variable,y=value,fill=Sample))+geom_split_violin()
p
</pre></div>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202202/2022021714140866.png" /></p>
<p>Step5. 美化</p>
<div class="jb51code"><pre class="brush:ruby;">p<-ggplot(data_melt,aes(x=variable,y=value,fill=Sample))+geom_split_violin()+
scale_fill_manual(values = c("#7697CB","#D293C1"))+
theme_bw()
p</pre></div>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202202/2022021714140867.png" /></p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202202/2022021714140968.png" /></p>
<p>其实今天的画图语句也比较简单,关键就是找到了合适的包以及函数,这就不得不赞一下开源软件R的优势,对于初学者非常友好,不需要精通编程也可以做成很多事情。</p>
<p>对图片质量要求比较高、想让小提琴图取消变平滑的朋友,可以参考我之前的分享《R语言绘图技巧导出高清图方法》,今天的分享就到这里啦,更多关于R语言绘图Split violin plot的资料请关注琼殿技术社区其它相关文章!</p>
<div class="art_xg">
<b>您可能感兴趣的文章:</b><ul><li>R语言模拟疫情传播图RVirusBroadcast展示疫情数据</li><li>R语言数据可视化绘图bar chart条形图实现示例</li><li>R语言绘制Bubble Matrix气泡矩阵图</li><li>R语言数据可视化绘图Lollipop chart棒棒糖图</li><li>R语言UpSet包实现集合可视化示例详解</li></ul>
</div>
</div>
<!--endmain-->
頁:
[1]