Introduction
Dans ce laboratoire, nous allons apprendre à créer des diagrammes à violon à l'aide de la bibliothèque Matplotlib en Python. Les diagrammes à violon sont utilisés pour visualiser la distribution d'un ensemble de données. Ces diagrammes sont similaires aux diagrammes en boîte, mais au lieu de montrer seulement les statistiques résumées, les diagrammes à violon montrent la distribution complète des données.
Nous allons utiliser un ensemble de données d'échantillonnage pour créer des diagrammes à violon et modifier divers paramètres pour observer les changements dans le tracé.
Conseils sur la VM
Une fois le démarrage de la VM terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Carnet de notes pour accéder au carnet Jupyter pour la pratique.
Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limites du carnet Jupyter.
Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez des commentaires après la session, et nous résoudrons rapidement le problème pour vous.
Importation des bibliothèques nécessaires
Nous allons commencer par importer les bibliothèques nécessaires pour créer les diagrammes à violon.
import matplotlib.pyplot as plt
import numpy as np
Création d'un ensemble de données d'échantillonnage
Nous allons créer un ensemble de données d'échantillonnage à l'aide de la bibliothèque numpy. Nous allons créer six ensembles de données avec des écarts-types différents.
## Fixing random state for reproducibility
np.random.seed(19680801)
## fake data
pos = [1, 2, 4, 5, 7, 8]
data = [np.random.normal(0, std, size=100) for std in pos]
Création de diagrammes à violon personnalisés
Nous allons créer des diagrammes à violon personnalisés en modifiant divers paramètres. Nous allons créer 5 diagrammes à violon personnalisés en utilisant différents paramètres.
fig, axs = plt.subplots(nrows=2, ncols=5, figsize=(10, 6))
## Custom violinplot 1
axs[0, 0].violinplot(data, pos, points=20, widths=0.3,
showmeans=True, showextrema=True, showmedians=True)
axs[0, 0].set_title('Custom violinplot 1', fontsize=fs)
## Custom violinplot 2
axs[0, 1].violinplot(data, pos, points=40, widths=0.5,
showmeans=True, showextrema=True, showmedians=True,
bw_method='silverman')
axs[0, 1].set_title('Custom violinplot 2', fontsize=fs)
## Custom violinplot 3
axs[0, 2].violinplot(data, pos, points=60, widths=0.7, showmeans=True,
showextrema=True, showmedians=True, bw_method=0.5)
axs[0, 2].set_title('Custom violinplot 3', fontsize=fs)
## Custom violinplot 4
axs[0, 3].violinplot(data, pos, points=60, widths=0.7, showmeans=True,
showextrema=True, showmedians=True, bw_method=0.5,
quantiles=[[0.1], [], [], [0.175, 0.954], [0.75], [0.25]])
axs[0, 3].set_title('Custom violinplot 4', fontsize=fs)
## Custom violinplot 5
axs[0, 4].violinplot(data[-1:], pos[-1:], points=60, widths=0.7,
showmeans=True, showextrema=True, showmedians=True,
quantiles=[0.05, 0.1, 0.8, 0.9], bw_method=0.5)
axs[0, 4].set_title('Custom violinplot 5', fontsize=fs)
Création de plus de diagrammes à violon personnalisés
Nous allons créer plus de diagrammes à violon personnalisés en utilisant différents paramètres.
## Custom violinplot 6
axs[1, 0].violinplot(data, pos, points=80, vert=False, widths=0.7,
showmeans=True, showextrema=True, showmedians=True)
axs[1, 0].set_title('Custom violinplot 6', fontsize=fs)
## Custom violinplot 7
axs[1, 1].violinplot(data, pos, points=100, vert=False, widths=0.9,
showmeans=True, showextrema=True, showmedians=True,
bw_method='silverman')
axs[1, 1].set_title('Custom violinplot 7', fontsize=fs)
## Custom violinplot 8
axs[1, 2].violinplot(data, pos, points=200, vert=False, widths=1.1,
showmeans=True, showextrema=True, showmedians=True,
bw_method=0.5)
axs[1, 2].set_title('Custom violinplot 8', fontsize=fs)
## Custom violinplot 9
axs[1, 3].violinplot(data, pos, points=200, vert=False, widths=1.1,
showmeans=True, showextrema=True, showmedians=True,
quantiles=[[0.1], [], [], [0.175, 0.954], [0.75], [0.25]],
bw_method=0.5)
axs[1, 3].set_title('Custom violinplot 9', fontsize=fs)
## Custom violinplot 10
axs[1, 4].violinplot(data[-1:], pos[-1:], points=200, vert=False, widths=1.1,
showmeans=True, showextrema=True, showmedians=True,
quantiles=[0.05, 0.1, 0.8, 0.9], bw_method=0.5)
axs[1, 4].set_title('Custom violinplot 10', fontsize=fs)
Personnaliser l'apparence du tracé
Nous allons personnaliser l'apparence du tracé en supprimant les étiquettes de l'axe des y et en ajoutant un titre au tracé.
for ax in axs.flat:
ax.set_yticklabels([])
fig.suptitle("Violin Plotting Examples")
fig.subplots_adjust(hspace=0.4)
plt.show()
Sommaire
Dans ce laboratoire, nous avons appris à créer des diagrammes à violon à l'aide de la bibliothèque Matplotlib en Python. Nous avons créé des diagrammes à violon personnalisés en modifiant divers paramètres tels que le nombre de points, la largeur de bande de la KDE et les quantiles. Nous avons également appris à personnaliser l'apparence du tracé en supprimant les étiquettes de l'axe des y et en ajoutant un titre au tracé.