【R语言】--- 小提琴图

Python010

【R语言】--- 小提琴图,第1张

小提琴图 (Violin Plot) 用于显示数据分布及其概率密度,该图类是箱型图和核密度图的结合,主要用来显示数据的分布状况。中间的黑色粗条表示四分位数范围,从其延伸的细黑线代表数据范围,两端为最大值和最小值,而白点则为中位数。

vioplot包:vioplot()函数

ggplot2包:plot()函数

[1] https://www.r-graph-gallery.com/violin.html

[2] https://www.jianshu.com/p/e8e69c561f4f

单细胞数据分析的时候,我们经常会用小提琴图来展示一些marker在不同细胞亚群中的表达情况。R的 Seurat 包中就有一个函数叫 VlnPlot ,专门用来画小提琴图的。

我们来看看这个函数的参数和使用方法

我们用 Seurat单细胞绘图函数DimHeatmap 中的数据来举个例子。

我们看CD3E这个基因在不同细胞亚群中的表达情况,先用默认参数看看效果

默认情况下,会同时画出小提琴图和散点图,还有右侧的图注。

如果不想要右侧的图注,可以使用 NoLegend()

如果散点图也不想要,这个时候我们就要去研究一下 VlnPlot 这个函数的参数了,

我们发现pt.size是控制点大小的,因此我们可以把点的大小设置成0试试

看样子是work的

可能有些人想同时把箱型图也画出来,这样能看出各个分位数以及中值的情况。其实也很容易, VlnPlot 这个函数实际上是基于ggplot写的,所以可以通过 geom_boxplot() 来添加箱型图

效果如下

箱体的宽度和颜色有点奇怪,接下来我们来微调一下

大功告成

参考下文获取 scRNA.rds 文件

单细胞小提琴图+箱型图​