
许多科研人员习惯使用柱状图(Bar Plot)、箱线图(Box Plot)或直方图(Histogram)展示实验结果,但随着数据分析方法的发展,这些传统图形逐渐暴露出一些局限。例如,柱状图只能反映均值,无法展示数据分布;箱线图虽然能够显示中位数和四分位数,却无法揭示数据是否存在双峰分布(Bimodal Distribution)、偏态分布(Skewed Distribution)或多峰分布(Multimodal Distribution)。
为了更全面地展示数据特征,小提琴图(Violin Plot)应运而生。它将箱线图与核密度估计结合在一起,不仅保留了中位数、四分位数等统计信息,还能够直观地展示数据分布形态,因此近年来被广泛应用于生命科学、医学、生物信息学、心理学、生态学以及机器学习等领域。
如今,越来越多的高水平期刊,包括《Nature》《Science》《Cell》及其子刊,都大量采用小提琴图展示实验数据。与此同时,GraphPad Prism、R、Python、Origin 等主流统计软件也已经支持小提琴图绘制,使其逐渐成为科研论文中的常见图形。
那么,小提琴图究竟是什么?它为什么叫“小提琴图”?如何正确解读一张小提琴图?又应该在什么情况下使用它?本文将系统介绍小提琴图的发展历史、组成结构、适用条件、优势与局限,并结合科研实例帮助读者真正读懂这一重要的数据可视化工具。
什么是小提琴图(Violin Plot)
小提琴图(Violin Plot)是一种用于展示连续变量数据分布(Continuous Data Distribution)的统计图形,它结合了箱线图和核密度估计(Kernel Density Estimation,KDE)两种方法,能够同时反映数据的集中趋势、离散程度以及整体分布形态。

从外观上看,小提琴图左右对称,中间较宽、两端较窄,整体形状类似一把小提琴,因此得名 Violin Plot。
与传统箱线图相比,小提琴图最大的特点是能够展示数据在不同取值范围内的概率密度(Probability Density)。图形越宽,说明该数值附近的数据越集中;图形越窄,则说明该区间的数据较少。这意味着,小提琴图不仅能够告诉读者数据的中位数和四分位数,还能够揭示是否存在偏态、长尾、双峰甚至多峰等复杂分布特征。
例如,下图(图源:labxchange.org)展示了两组具有相同均值和标准差的数据。虽然箱线图可能几乎完全一致,但如果其中一组数据呈双峰分布,而另一组数据呈正态分布,小提琴图便能够立即显示出两者的差异。这也是近年来越来越多SCI论文采用小提琴图的重要原因。

从统计学角度来看,小提琴图主要包含两部分信息:
- 内部统计信息:通常包括中位数(Median)、四分位数(Quartiles)以及四分位距(Interquartile Range,IQR),有些软件还会显示均值和置信区间。
- 外部密度轮廓:利用核密度估计计算得到数据分布曲线,再左右镜像形成“小提琴”外形,用于展示数据的整体分布模式。
因此,可以将小提琴图理解为“能够显示完整数据分布的增强版箱线图”。
值得注意的是,小提琴图并不是一种新的统计检验方法,它本质上属于数据可视化工具。它不会改变统计分析结果,也不能替代t检验、方差分析(ANOVA)、Mann–Whitney U检验等统计方法,而是帮助研究者更准确、更直观地展示数据特征,提高科研图表的信息表达能力。
近年来,在单细胞测序、转录组学、流式细胞术、蛋白质组学等高通量研究领域,小提琴图几乎已经成为标准展示方式。例如,Seurat、Scanpy 等主流单细胞分析软件默认就采用小提琴图展示基因表达分布。
小提琴图的发展历史
相比柱状图、散点图或箱线图,小提琴图是一种相对年轻的数据可视化方法。
它最早由美国统计学家 Jerry L. Hintze 和 Ray D. Nelson 于 1998 年提出,两位作者在论文《Violin Plots: A Box Plot-Density Trace Synergism》中首次正式介绍了这一图形,并发表于统计学期刊《The American Statistician》。

在当时,箱线图已经广泛用于展示数据分布,但作者发现,箱线图只能显示五数概括,无法揭示数据真正的分布形态。例如,两组数据可能拥有完全相同的中位数、四分位数和极值,但一组数据服从正态分布,而另一组数据却具有明显的双峰结构。仅凭箱线图,很难发现这种差异。
为了弥补这一不足,Hintze 和 Nelson 将核密度估计(Kernel Density Estimation)与箱线图结合起来,在箱线图两侧绘制平滑的密度曲线,并采用左右镜像的方式形成新的图形。这种图形既保留了箱线图的统计摘要,又增加了完整的数据分布信息,因此被命名为 Violin Plot(小提琴图)。
不过,在提出后的十多年里,小提琴图并没有得到广泛应用。原因主要有两个:
- 首先,当时大多数统计软件并不支持小提琴图,研究人员需要自行编程实现,使用门槛较高。
- 其次,当时科研数据规模相对较小,许多实验只有十几个样本,箱线图已经能够满足数据展示需求,小提琴图的优势尚未充分体现。
真正推动小提琴图快速发展的,是近年来生物医学和人工智能领域的大数据分析。随着RNA测序、单细胞测序、多组学分析以及机器学习的发展,科研数据量迅速增加,研究者越来越需要一种能够准确展示复杂数据分布的可视化工具。
与此同时,R语言的 ggplot2 包、Python 的 Seaborn 库、GraphPad Prism、Origin、MATLAB 等软件陆续加入了小提琴图功能,大大降低了绘图难度,也推动了小提琴图在科研中的普及。
如今,小提琴图已经成为国际主流科研论文的重要数据展示形式。在生命科学、医学、生物信息学、心理学、生态学以及社会科学等领域,经常可以看到研究者利用小提琴图展示不同实验组之间的数据分布差异,尤其是在单细胞RNA测序分析中,小提琴图几乎已经成为展示基因表达水平的标准图形之一。
此外,小提琴图的发展并未停止。近年来,研究者又在其基础上提出了多种改进形式,例如半小提琴图(Half Violin Plot)、分裂小提琴图(Split Violin Plot)以及近年来非常流行的雨云图(Raincloud Plot)。这些图形进一步融合了散点图、箱线图和密度图的优势,使科研数据展示更加丰富、直观,也反映了现代科研可视化正朝着“展示更多真实数据、减少信息隐藏”的方向不断发展。
小提琴图适用于哪些数据?
小提琴图主要用于展示连续变量的数据分布,因此最适合具有数值大小和连续变化特征的数据。例如,在医学研究中,血压、血糖、BMI、胆固醇水平等指标都可以采用小提琴图展示;在生命科学研究中,RNA表达量、蛋白表达水平、细胞数量以及荧光强度等连续变量同样十分适合使用小提琴图。
相比柱状图和箱线图,小提琴图最大的优势在于能够揭示数据背后的分布特征。例如,两组实验数据虽然具有相同的均值和中位数,但其中一组可能服从正态分布,而另一组则存在明显的双峰分布或长尾现象。传统图形很难发现这些差异,而小提琴图能够通过密度轮廓将这些信息完整呈现出来,因此在组学研究、单细胞测序以及机器学习等数据量较大的研究领域得到了广泛应用。
需要注意的是,小提琴图依赖于核密度估计,因此样本量不能过小。通常建议每组至少包含20个以上样本,样本数量越多,密度曲线越稳定,也越能够真实反映数据分布。对于单细胞RNA测序等高通量数据,由于每组通常包含数百甚至数万个观测值,小提琴图几乎已经成为标准的数据展示方式。
小提琴图与其他统计图有什么区别?
在科研论文中,柱状图、箱线图、直方图和小提琴图都可以用于展示实验数据,但它们表达的信息并不相同。
柱状图主要反映均值及误差,适合快速比较不同实验组的平均水平,但几乎无法展示数据的真实分布,因此近年来越来越多期刊建议减少柱状图的使用。箱线图能够进一步展示中位数、四分位数和异常值,是统计分析中应用最广泛的图形之一,但它仍然无法告诉读者数据究竟呈现正态分布、偏态分布还是双峰分布。
直方图和密度图虽然能够反映数据分布,但通常只能展示单组数据,当需要比较多个实验组时,可读性明显下降。相比之下,小提琴图将箱线图与核密度估计结合在一起,不仅能够保留中位数、四分位数等统计信息,还能够直观展示数据的完整分布,因此兼顾了统计摘要和可视化表达,是近年来科研论文中越来越受欢迎的统计图形。
对于需要比较多个实验组连续变量的数据,尤其希望展示数据分布而不仅仅是均值时,小提琴图通常比柱状图和箱线图更具优势。
小提琴图不适用于哪些情况?
虽然小提琴图能够展示丰富的数据分布信息,但它并不是所有数据类型的最佳选择。由于其核心原理依赖于核密度估计,因此当样本量过少时,计算得到的密度曲线容易受到随机波动影响,可能产生并不存在的峰值或凹陷,反而误导读者。因此,对于每组仅有5~10个样本的小型实验,更建议使用散点图配合箱线图展示真实数据,而不是绘制小提琴图。
此外,小提琴图主要适用于连续变量,对于性别、是否患病、药物反应等分类变量,由于不存在连续分布的概念,通常应采用条形图、马赛克图或列联表,并结合卡方检验或Fisher精确检验进行统计分析。
对于某些离散整数数据或高度偏态的数据,小提琴图同样需要谨慎使用。如果数据仅包含少量固定取值,例如评分量表或计数数据,密度曲线往往失去实际意义;如果数据跨度极大,建议先进行对数转换或其他适当的数据变换,再绘制小提琴图,以获得更真实的分布形态。
小提琴图如何绘制?
随着统计软件的发展,绘制小提琴图已经变得非常简单。目前主流科研软件几乎都已支持这一图形,其中R语言和Python具有最高的灵活性,GraphPad Prism和Origin则更适合医学及生命科学研究人员。
对于R语言用户,只需调用ggplot2包中的geom_violin()函数即可快速生成小提琴图,并可以进一步叠加箱线图、散点图或显著性检验结果,因此也是国际SCI论文中最常见的绘图方式。Python用户则可以利用Seaborn库中的violinplot()函数完成相同操作,非常适合数据科学和机器学习分析。
如果不熟悉编程,GraphPad Prism和Origin提供了图形化界面,只需导入数据即可完成绘制,并能够方便地调整颜色、宽度、透明度及是否叠加箱线图。相比之下,SPSS目前尚未原生支持小提琴图,通常需要借助R插件、Python扩展程序,或将数据导出至其他软件进行绘制。
小提琴图的优势与局限
与传统统计图相比,小提琴图最大的优势在于能够更加完整地展示数据。它不仅保留了箱线图提供的中位数、四分位数等统计摘要,还通过核密度估计直观反映数据的整体分布,使研究者能够快速识别偏态分布、双峰分布、多峰分布以及长尾现象。这种信息量远高于柱状图,因此近年来在高水平SCI期刊中的使用比例不断增加。
然而,小提琴图也存在一定局限。首先,它依赖核密度估计,不同软件采用的带宽(Bandwidth)参数不同,可能导致同一组数据绘制出略有差异的图形;其次,对于样本量较小的数据,密度估计稳定性不足,容易造成视觉误导。此外,由于许多读者对小提琴图并不熟悉,仅依靠图形可能难以准确理解数据特征,因此不少期刊建议在小提琴图内部叠加箱线图或散点图,以提高图形的可解释性。
