Comment faire pour modifier la taille de la police sur une parcelle matplotlib
Comment peut-on changer la taille de la police pour tous les éléments (tiques, étiquettes de titre) sur un matplotlib intrigue?
Je sais comment changer la tique des tailles d'étiquette, c'est fait avec:
import matplotlib
matplotlib.rc('xtick', labelsize=20)
matplotlib.rc('ytick', labelsize=20)
Mais comment fait-on changer le reste?
Vous devez vous connecter pour publier un commentaire.
De la matplotlib documentation,
Cela définit la police de caractères de tous les éléments de la police spécifiée par le kwargs objet,
font
.Alternativement, vous pouvez également utiliser la
rcParams
update
méthode comme il est suggéré dans cette réponse:ou
Vous pouvez trouver une liste complète des propriétés dans la Personnalisation de matplotlib page.
'family'
,'weight'
, etc.?'family'
Comme'normal'
,'sans-serif'
, etc.import matplotlib.pyplot as plt
, vous pourriez, comme pour souligner quepyplot
arc
ainsi. Vous pouvez faireplt.rc(...
sans avoir à changer vos importations.for label in (ax.get_xticklabels() + ax.get_yticklabels()): label.set_fontsize(22)
affecter la taille du texte dans une seule figure.Si vous êtes un maniaque du contrôle, comme moi, vous pouvez définir explicitement tous vos tailles de police:
Notez que vous pouvez également définir la taille de l'appel de la
rc
méthode surmatplotlib
:plt.rc('axes', titlesize=BIGGER_SIZE)
plt.rc('axes', titlesize=SMALL_SIZE, labelsize=MEDIUM_SIZE)
Si vous voulez changer la taille de la police pour un complot qui a déjà été créé, essayez ceci:
ax=plt.gca()
si la parcelle a été créé sans la définition d'un axe.Mise à jour: Voir le fond de la réponse pour une légèrement meilleure façon de le faire.
Mise à jour #2: j'ai compris modification du titre de la légende des polices trop.
Mise à jour #3: Il y a un bug dans Matplotlib 2.0.0 qui est à l'origine étiquettes de graduation des axes logarithmiques pour revenir à la valeur par défaut de la police. Doit être fixé dans la 2.0.1 mais j'ai inclus la solution de contournement dans la 2ème partie de la réponse.
Cette réponse est pour quiconque d'essayer de changer les polices, y compris pour la légende, et pour ceux qui cherchent à utiliser des polices différentes et de tailles pour chaque chose. Il n'utilise pas de rc (qui ne semble pas fonctionner pour moi). Il est plutôt lourd, mais je ne pouvais pas se familiariser avec toutes les autres méthodes personnellement. Il associe essentiellement ryggyr la réponse ici avec d'autres réponses sur DONC.
L'avantage de cette méthode est que, par le fait d'avoir plusieurs polices dictionnaires, vous pouvez choisir différentes polices/tailles/poids/couleurs pour les différents titres, choisir une police pour les étiquettes de graduation, et de choisir la police de la légende, toutes les de façon indépendante.
Mise à JOUR:
J'ai travaillé un peu différente, moins encombré approche qui rompt avec la police dictionnaires, et permet de polices sur votre système, même .les polices otf. Pour séparer les polices de caractères pour chaque chose, il suffit d'écrire plus
font_path
etfont_prop
comme les variables.J'espère que c'est une réponse globale
Ici est totalement différents approche qui fonctionne étonnamment bien pour changer la taille de la police:
Changer le figure taille!
J'ai l'habitude d'utiliser un code comme ceci:
La petits vous faire de la figure de la taille, de la plus la police est par rapport à la parcelle. Cela passe aussi par les marqueurs. Remarque j'ai également réglé le
dpi
ou point par pouce. J'ai appris cela à partir d'un affichage de l'AMTA (American Modélisation Professeur d'Amérique) du forum.Exemple de code ci-dessus:
bbox_inches
argumentfig.savefig('Basic.png', bbox_inches="tight")
Utilisation
plt.tick_params(labelsize=14)
Basé sur les trucs ci-dessus:
Vous pouvez utiliser
plt.rcParams["font.size"]
pour la misefont_seze
dansmatplotlib
et également vous pouvez utiliserplt.rcParams["font.family"]
pour la misefont_family
dansmatplotlib
. Essayez cet exemple:C'est une extension de Marius Retegan réponse. Vous pouvez faire un autre fichier JSON avec toutes vos modifications et de le charger avec rcParams.la mise à jour. Les modifications ne s'appliquent qu'au script courant. Donc
et enregistrer ce " example_file.json " dans le même dossier.
Je suis totalement d'accord avec le Prof Huster que la façon la plus simple de procéder est de modifier la taille de la figure, ce qui permet de garder les polices par défaut. J'ai juste eu à compléter avec un bbox_inches option lors de l'enregistrement de la figure en format pdf parce que les étiquettes de l'axe a été coupé.