Matplotlib 简明教程

Matplotlib - Violin Plot

小提琴图类似于箱线图,但它们还会显示不同值处的数据概率密度。这些图中包含数据的中间值标记和表示四分位数范围的方框,如标准箱线图中的那样。在此箱线图上叠加核密度估计。与箱线图一样,小提琴图用于表示不同“类别”中的变量分布(或样本分布)的比较。

小提琴图比普通箱线图信息更多。事实上,虽然箱线图仅显示均值/中位数和四分位数范围等汇总统计信息,但小提琴图显示数据的完整分布。

import matplotlib.pyplot as plt
import numpy as np

np.random.seed(10)
collectn_1 = np.random.normal(100, 10, 200)
collectn_2 = np.random.normal(80, 30, 200)
collectn_3 = np.random.normal(90, 20, 200)
collectn_4 = np.random.normal(70, 25, 200)

## combine these different collections into a list
data_to_plot = [collectn_1, collectn_2, collectn_3, collectn_4]

# Create a figure instance
fig = plt.figure()

# Create an axes instance
ax = fig.add_axes([0,0,1,1])

# Create the boxplot
bp = ax.violinplot(data_to_plot)
plt.show()
violin plot