Comment faire pivoter le texte des étiquettes à cocher sur l'axe X dans Matplotlib
-
plt.xticks(rotation= )
pour faire pivoter le texte de l’étiquette Xticks -
fig.autofmt_xdate(rotation= )
pour faire pivoter le texte des étiquettes Xticks -
ax.set_xticklabels(xlabels, rotation= )
pour faire pivoter le texte des étiquettes Xticks -
plt.setp(ax.get_xticklabels(), rotation=)
pour faire pivoter le texte des étiquettes Xticks -
ax.tick_params(axis='x', labelrotation= )
pour faire pivoter le texte des étiquettes Xticks -
Rotation
xticklabels
alignant
Dans cet article du tutoriel, nous allons présenter différentes méthodes pour faire pivoter le texte des étiquettes à cocher sur l’axe X dans les étiquettes Python. Il comprend,
plt.xticks(rotation= )
fig.autofmt_xdate(rotation= )
ax.set_xticklabels(xlabels, rotation= )
plt.setp(ax.get_xticklabels(), rotation=)
ax.tick_params(axis='x', labelrotation= )
L’orientation par défaut du texte des étiquettes de coche dans l’axe des x est horizontale ou 0
degré. Cela apporte des inconvénients si le texte du label de la coche est trop long, comme le chevauchement entre des textes de label adjacents.
Les codes pour créer la figure ci-dessus sont,
from matplotlib import pyplot as plt
from datetime import datetime, timedelta
values = range(10)
dates = [datetime.now()-timedelta(days=_) for _ in range(10)]
fig,ax = plt.subplots()
plt.plot(dates, values)
plt.grid(True)
plt.show()
plt.xticks(rotation= )
pour faire pivoter le texte de l’étiquette Xticks
from matplotlib import pyplot as plt
from datetime import datetime, timedelta
values = range(10)
dates = [datetime.now()-timedelta(days=_) for _ in range(10)]
fig,ax = plt.subplots()
plt.plot(dates, values)
plt.xticks(rotation=45)
plt.grid(True)
plt.show()
plt.xticks(rotation=45)
plt.xticks
récupère ou définit les propriétés des emplacements des cocheurs et des étiquettes de l’axe des x.
rotation
est l’angle de rotation dans le sens anti-horaire du texte du label de l’axe x.
fig.autofmt_xdate(rotation= )
pour faire pivoter le texte des étiquettes Xticks
from matplotlib import pyplot as plt
from datetime import datetime, timedelta
values = range(10)
dates = [datetime.now()-timedelta(days=_) for _ in range(10)]
fig,ax = plt.subplots()
plt.plot(dates, values)
fig.autofmt_xdate(rotation=45)
plt.grid(True)
plt.show()
autofmt_xdate
fait tourner les étiquettes de tique et les aligne à droite automatiquement si l’étiquette est un objet date
.
Mais cela ne fonctionne pas seulement avec l’objet date
mais aussi avec la chaîne de texte normale du label.
from matplotlib import pyplot as plt
from datetime import datetime, timedelta
values = range(10)
dates = [datetime.now()-timedelta(days=_) for _ in range(10)]
xlabels = ["Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"]
fig,ax = plt.subplots()
plt.plot(dates, values)
ax.set_xticklabels(xlabels)
fig.autofmt_xdate(rotation=45)
plt.grid(True)
plt.show()
ax.set_xticklabels(xlabels, rotation= )
pour faire pivoter le texte des étiquettes Xticks
set_xticklabels
définit les étiquettes x-tick avec la liste des étiquettes de chaînes de caractères.
Cette liste d’étiquettes de chaînes de caractères peut être une liste nouvellement spécifiée ou la liste d’étiquettes existante du graphe courant lue par get_xticklabels()
.
from matplotlib import pyplot as plt
from datetime import datetime, timedelta
values = range(10)
dates = [datetime.now()-timedelta(days=_) for _ in range(10)]
xlabels = [datetime.strftime(datetime.now()-timedelta(days=_), "%m/%d/%Y") for _ in range(10)]
fig,ax = plt.subplots()
plt.plot(dates, values)
ax.set_xticklabels(xlabels, rotation=45, ha='right')
plt.grid(True)
plt.show()
plt.setp(ax.get_xticklabels(), rotation=)
pour faire pivoter le texte des étiquettes Xticks
matplotlib.pyplot.setp
définit une propriété sur un objet d’artiste.
plt.setp(ax.get_xticklabels(), rotation=)
définit la propriété rotation
de l’objet xtick labels.
from matplotlib import pyplot as plt
from datetime import datetime, timedelta
values = range(10)
dates = [datetime.now()-timedelta(days=_) for _ in range(10)]
xlabels = [datetime.strftime(datetime.now()-timedelta(days=_), "%m/%d/%Y") for _ in range(10)]
fig,ax = plt.subplots()
plt.plot(dates, values)
plt.setp(ax.get_xticklabels(), rotation=45, ha='right')
plt.grid(True)
plt.tight_layout()
plt.show()
ax.tick_params(axis='x', labelrotation= )
pour faire pivoter le texte des étiquettes Xticks
tick_params
définit les paramètres des ticks, des étiquettes de tick et des lignes de grille.
ax.tick_params(axis='x', labelrotation= )
définit la propriété labelrotation
de l’étiquette de la tique dans l’axe x
, ou en d’autres termes, l’axe X.
from matplotlib import pyplot as plt
from datetime import datetime, timedelta
values = range(10)
dates = [datetime.now()-timedelta(days=_) for _ in range(10)]
xlabels = [datetime.strftime(datetime.now()-timedelta(days=_), "%m/%d/%Y") for _ in range(10)]
fig,ax = plt.subplots()
plt.plot(dates, values)
ax.tick_params(axis='x', labelrotation=45)
plt.grid(True)
plt.show()
Rotation xticklabels
alignant
nous utilisons l’argument ha='right'
dans les codes de l’exemple ci-dessus, ce qui signifie que horizontal alignment est right
.
ha='right'
aligne l’extrémité droite du texte de l’étiquette sur les tiques.
ha='left'
aligne l’extrémité gauche du texte de l’étiquette sur les tiques.
ha = 'center'
aligne le centre du texte du label sur les cases à cocher.
from matplotlib import pyplot as plt
from datetime import datetime, timedelta
xvalues = range(5)
yvalues = xvalues
xlabels = [datetime.strftime(datetime.now()-timedelta(days=_), "%m/%d/%Y") for _ in xvalues]
alignment = ["right", "left", "center"]
fig,axes = plt.subplots(1, 3)
for n, ax in enumerate(axes):
ax.plot(xvalues, yvalues)
ax.set_title(alignment[n] + "alignment")
ax.set_xticks(xvalues)
ax.set_xticklabels(xlabels, rotation=45, ha=alignment[n])
ax.grid(True)
plt.show()