Recherche de site Web

Comment ajuster la position des étiquettes des axes dans Matplotlib ?


Lorsque nous effectuons une visualisation de données dans Matplotlib à l'aide de sous-tracés ou de tracés, il est important d'étiqueter correctement l'axe et d'ajuster la position des étiquettes de l'axe si nécessaire afin qu'ils ne se chevauchent pas avec d'autres éléments présents dans le tracé. . Cela peut aider les utilisateurs à comprendre facilement les données présentées.

Pour créer des étiquettes et ajuster les étiquettes, nous utiliserons la bibliothèque Matplotlib qui est utilisée pour créer des visualisations de données de haute qualité. Cet article abordera diverses méthodes pour ajuster la position des étiquettes des axes dans Matplotlib. Nous utiliserons des sous-intrigues pour la même chose.

Matplotlib

Matplotlib est une bibliothèque principalement utilisée pour tracer des graphiques et des tracés pour le langage de programmation Python et NumPy, son extension pour les mathématiques numériques. Les boîtes à outils GUI Tkinter, wxPython, Qt et GTK peuvent inclure des diagrammes utilisant son API orientée objet.

matplotlib.pyplot est une collection de méthodes de style commande qui permettent à matplotlib de fonctionner de manière similaire à MATLAB. Chaque fonction pyplot modifie une figure d'une manière ou d'une autre, que ce soit en ajoutant une zone de traçage, en traçant des lignes, en ajoutant des étiquettes, etc. Le graphique et la zone de traçage actuels sont enregistrés entre les appels de fonction dans matplotlib.pyplot, et les fonctions de traçage sont toujours appliquées. à l’ensemble d’axes actif.

Sous-parcelles

Les sous-tracés dans Matplotlib permettent d'afficher plusieurs tracés ou graphiques dans une seule figure. Nous pouvons comparer et analyser plusieurs ensembles de données en même temps à l'aide de sous-parcelles. Cela facilite la détection ou l’identification des tendances, des modèles et des relations.

Une sous-parcelle est une grille de parcelles plus petites qui font partie d’une parcelle plus grande. Chaque sous-tracé a sa propre place dans la grille, qui est basée sur le nombre de lignes et de colonnes dans la grille et sur l'emplacement du sous-tracé dans cette grille.

La méthode « subplots » de Matplotlib nous permet de créer des sous-parcelles. Cette fonction renvoie un objet graphique et un tableau d'objets de sous-intrigue. Nous pouvons tracer nos données dans chaque sous-intrigue en utilisant ces objets de sous-intrigue.

Syntaxe

fig,ax=plt.subplots(nrows,ncolumns,index)

Explication

  • nrows - Ce paramètre spécifie le nombre de lignes de sous-parcelles dans la grille.

  • ncolumns - Ce paramètre spécifie le nombre de colonnes de sous-parcelles dans la grille.

  • index - Ce paramètre spécifie l'index de la sous-intrigue actuelle. L'index commence à 1 et augmente par ligne.

Ajuster la position des étiquettes des axes

Il existe différentes méthodes ou fonctions dans Matplotlib grâce auxquelles nous pouvons ajuster la position des étiquettes des axes dans les graphiques Matplotlib, elles sont -

  • Fonction .set_label_coords()

  • Fonction set_label_position()

  • Fonction set_pad()

.set_label_coords()

Cette méthode est utilisée pour définir les coordonnées de l'étiquette de la sous-parcelle.

Cocher les zones de délimitation de l'étiquette détermine les valeurs par défaut pour la coordonnée x de l'étiquette y et la coordonnée y de l'étiquette x. Le problème se pose cependant lorsqu’il existe de nombreux axes et que les étiquettes doivent être alignées sur eux.

Les coordonnées de l'étiquette peuvent également être spécifiées pour la transformation. Le système de coordonnées des axes, où (0, 0) est le coin inférieur gauche, (0,5, 0,5) est le milieu, etc., est utilisé si Aucun n'est spécifié.

Exemple 1

import matplotlib.pyplot as p
import numpy as n

# generate some data
x=n.array([11, 22,33, 44, 55,66,77,88,99,100])

# create a subplot and plot the data
f, a = p.subplots(2,2)
a[0,0].plot(x, n.sin(x))
a[0,1].plot(x,n.cos(x))
a[1, 0].plot(x, x)
a[1, 1].plot(x, n.exp(x))
# set the x-axis label and adjust the position
a[0,0].set_xlabel('Sin graph')
a[0,0].xaxis.set_label_coords(0.35, 0)

a[0,1].set_xlabel('Cos graph')
a[0,1].xaxis.set_label_coords(0.65,0)
a[1, 0].set_xlabel('Linear graph')
a[1,0].xaxis.set_label_coords(0.35,-0.24)
a[1, 1].set_xlabel('exponential graph')
a[1,1].xaxis.set_label_coords(0.65,-0.25)

# display the plot
p.show()

Sortir

Fonction set_label_position()

La fonction set_position() est utilisée pour définir la position de l'étiquette de l'axe dans les sous-tracés. Cette méthode accepte les paramètres suivants -

Position - 'gauche',' droite',' haut',' bas'.

Exemple 2

import matplotlib.pyplot as p
import numpy as n

# generate some data
x=n.array([11, 22,33, 44, 55,66,77,88,99,100])

# create a subplot and plot the data
f, a = p.subplots(2,2)
a[0,0].plot(x, n.sin(x))
a[0,1].plot(x,n.cos(x))
a[1, 0].plot(x, x)
a[1, 1].plot(x, n.exp(x))
# set the x-axis label and y label and adjust the position
a[0,0].set_xlabel('Sin graph')
a[0,0].xaxis.set_label_position('bottom')
a[0,0].yaxis.set_label_position('left')
a[0,0].xaxis.set_label_coords(0.35, 0)
a[0,0].yaxis.set_label_coords(0.35, 0)
a[0,1].set_xlabel('Cos graph')
a[0,1].xaxis.set_label_position('bottom')
a[0,0].yaxis.set_label_position('left')
a[0,1].xaxis.set_label_coords(0.65,0)
a[0,1].yaxis.set_label_coords(0.65,0)
a[1, 0].set_xlabel('Linear graph')
a[1,0].xaxis.set_label_position('bottom')
a[0,0].yaxis.set_label_position('left')
a[1,0].xaxis.set_label_coords(0.35,-0.24)
a[1,0].yaxis.set_label_coords(0.35,-0.24)
a[1, 1].set_xlabel('exponential graph')
a[1,1].xaxis.set_label_position('bottom')
a[0,0].yaxis.set_label_position('left')
a[1,1].xaxis.set_label_coords(0.65,-0.25)
a[1,1].yaxis.set_label_coords(0.65,-0.25)


# display the plot
p.show()

Sortir

set_pad(), paramètre labelpad de la fonction set_label

Avec la fonction set pad(), nous pouvons modifier la distance entre l'étiquette de l'axe et les étiquettes de graduation de l'axe.

Par exemple, nous pouvons utiliser le code suivant pour modifier l'espace autour de l'étiquette de l'axe des x dans un sous-tracé -

Exemple 3

import matplotlib.pyplot as plt
import numpy as np

# generate some data
x=np.array([11, 22,33, 44, 55,66,77,88,99,100])

# create a subplot and plot the data
fig, ax = plt.subplots(2,2)
ax[0,0].plot(x, np.sin(x))
ax[0,1].plot(x,np.cos(x))
ax[1, 0].plot(x, x)
ax[1, 1].plot(x, np.exp(x))
# set the x-axis label and adjust the position

ax[1, 0].set_xlabel('Linear graph',labelpad=10)

ax[1, 1].set_xlabel('exponential graph',labelpad=10)


# display the plot
plt.show()

Sortir

Conclusion

En conclusion, l'ajustement de la position des étiquettes des axes est une partie importante de l'utilisation de Matplotlib pour créer des tracés clairs et précis. Set_label_coords(), set_position() et set_pad() sont quelques-unes des méthodes que nous pouvons utiliser pour modifier la position des étiquettes des axes dans un tracé ou un sous-tracé.

Articles connexes: