Il me semble que j'ai du mal à trouver comment augmenter ou diminuer le fontsize
des étiquettes de tick x et y lors de l'utilisation de matplotlib
.
Je suis conscient qu'il existe la fonction set_xticklabels(labels, fontdict=None, minor=False, **kwargs)
, mais je n'ai pas compris comment contrôler la fontsize
.
Je m'attendais à quelque chose de quelque peu explicite, comme
title_string=('My Title')
plt.suptitle(title_string, y=1.0, fontsize=17)
mais je n'ai rien trouvé de tel jusqu'à présent. Qu'est-ce que je rate?
C'est plus simple que je ne le pensais.
Pour définir la taille de police des graduations de l'axe des x:
x_ticks=['x tick 1','x tick 2','x tick 3']
ax.set_xticklabels(x_ticks, rotation=0, fontsize=8)
Pour le faire pour les graduations de l'axe y:
y_ticks=['y tick 1','y tick 2','y tick 3']
ax.set_yticklabels(y_ticks, rotation=0, fontsize=8)
Les arguments rotation
et fontsize
peuvent facilement contrôler ce que je recherchais.
Référence: http://matplotlib.org/api/axes_api.html
Il ne faut pas utiliser set_yticklabels
pour changer la taille de la police, car cela définira également les étiquettes (c'est-à-dire qu'il remplacera tout formateur automatique par un FixedFormatter
), ce qui n'est généralement pas souhaité. Le plus simple consiste à définir le tick_params
:
ax.tick_params(axis="x", labelsize=8)
ax.tick_params(axis="y", labelsize=20)
ou
ax.tick_params(labelsize=8)
dans le cas où les deux axes doivent avoir la même taille.
Bien sûr, utiliser les rcParams comme dans réponse de @ tmdavison est également possible.
Vous pouvez définir la taille de police directement dans l'appel sur set_xticklabels
et set_yticklabels
(comme indiqué dans les réponses précédentes). Cela n'affectera qu'un Axes
à la fois.
ax.set_xticklabels(x_ticks, rotation=0, fontsize=8)
ax.set_yticklabels(y_ticks, rotation=0, fontsize=8)
Vous pouvez également définir la taille de la police ticklabel
globalement (c'est-à-dire pour toutes les figures/sous-tracés d'un script) en utilisant rcParams
:
import matplotlib.pyplot as plt
plt.rc('xtick',labelsize=8)
plt.rc('ytick',labelsize=8)
Ou équivalent:
plt.rcParams['xtick.labelsize']=8
plt.rcParams['ytick.labelsize']=8
Enfin, s'il s'agit d'un paramètre que vous souhaitez définir pour tous vos tracés matplotlib, vous pouvez également définir ces deux rcParams
dans votre fichier matplotlibrc
:
xtick.labelsize : 8 # fontsize of the x tick labels
ytick.labelsize : 8 # fontsize of the y tick labels
Utilisez le mot clé size
au lieu de fontsize
.