Los diagramas de violín son similares a los diagramas de caja, excepto que también muestran la densidad de probabilidad de los datos en diferentes valores. Estas gráficas incluyen un marcador para la mediana de los datos y un cuadro que indica el rango intercuartílico, como en las gráficas de caja estándar. Sobre este diagrama de caja se superpone una estimación de la densidad del núcleo. Al igual que los diagramas de caja, los diagramas de violín se utilizan para representar la comparación de una distribución variable (o distribución de muestra) entre diferentes "categorías".
Un diagrama de violín es más informativo que un diagrama de caja simple. De hecho, mientras que un diagrama de caja solo muestra estadísticas resumidas como media / mediana y rangos intercuartiles, el diagrama de violín muestra la distribución completa de los datos.
import matplotlib.pyplot as plt
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()