Comment nommer les ticks dans un boxplot matplotlib en python

20

Python matplotlib a une commande boxplot .

Normalement, toutes les parties du graphique sont cochées numériquement. Comment puis-je changer les graduations en noms au lieu de positions?

Par exemple, je veux dire les étiquettes de Mon Tue Wed comme dans ce boxplot:

texte alternatif

Peter Smit
la source

Réponses:

30

Utilisez le deuxième argument de xtickspour définir les étiquettes:

import numpy as np
import matplotlib.pyplot as plt

data = [[np.random.rand(100)] for i in range(3)]
plt.boxplot(data)
plt.xticks([1, 2, 3], ['mon', 'tue', 'wed'])

modifié pour supprimer pylabbc pylabest un module pratique qui importe en masse matplotlib.pyplot(pour le traçage) et numpy(pour les mathématiques et l'utilisation des tableaux) dans un espace de nom unique. Bien que de nombreux exemples utilisent pylab, il n'est plus recommandé .

ars
la source
13

ars a la réponse juste et succincte. J'ajouterai que lorsque j'ai appris à utiliser matplotlib, j'ai trouvé la galerie de vignettes très utile pour trouver du code et des exemples pertinents. Pour votre cas, j'ai soumis cet exemple de boîte à moustaches qui vous montre d'autres fonctionnalités qui pourraient être utiles (comme faire pivoter le texte des graduations, ajouter des graduations et des étiquettes sur l'axe Y supérieur, ajouter de la couleur aux cases, etc.)

texte alternatif

Josh Hemann
la source
+1. Josh, c'est un échantillon de référence assez complet - merci!
ars