J'utilise la feuille de style 'ggplot'
. Maintenant, le style est génial, sauf que je voudrais modifier spécifiquement le style de police. Est-ce possible?
Si vous avez trouvé la documentation sur la personnalisation des styles. Cependant, je veux juste changer la police tout en conservant le reste du style.
De plus, est-ce que quelqu'un sait où voir les détails des paramètres de chaque style
( comme font, figsize, etc.)?
plt.imshow(ori, vmin = 0, vmax = 300) plt.style.use('ggplot') plt.show()
3 Réponses :
Oui, c'est possible. Et vous pouvez le faire soit localement en transmettant la police à des libellés individuels
import matplotlib.pyplot as plt plt.rcParams['font.family'] = 'your font'
ou globalement
font = {'fontname':'your font'} plt.xlabel('xlabel', **hfont) plt.ylabel('xlabel', **hfont)
Je pense que le plus élégant est de combiner les styles .
Par exemple, vous pouvez définir vos propres paramètres de police dans mystyle.mplstyle
(voir ci-dessous où l'enregistrer et à quoi il pourrait ressembler). Pour obtenir le style ggplot
avec vos propres paramètres de police, il vous suffirait alors de spécifier:
def copy_style(): import os import matplotlib # style definition(s) styles = {} styles['mystyle.mplstyle'] = ''' font.family : serif ''' # write style definitions # directory name where the styles are stored dirname = os.path.abspath(os.path.join(matplotlib.get_configdir(), 'stylelib')) # make directory if it does not yet exist if not os.path.isdir(dirname): os.makedirs(dirname) # write all styles for fname, style in styles.items(): open(os.path.join(dirname, fname),'w').write(style)
Cette solution est élégante, car elle permet une application cohérente dans toutes vos parcelles et vous permet de mélanger et assortir.
Tiré de l'un de mes propres styles mystyle.mplstyle code> pourrait avoir les entrées suivantes (vous devez évidemment personnaliser selon vos besoins):
find / -iname '*.mplstyle' 2>/dev/null
Lequel vous devez l'enregistrer dans le répertoire de configuration de matplotlib. Pour moi, c'est ~ / .matplotlib / stylelib /
, mais utilisez
/usr/local/lib/python3.7/site-packages/matplotlib/mpl-data/stylelib/ggplot.mplstyle
pour savoir quoi utiliser sur votre système d'exploitation. Consultez la documentation . Vous pouvez également écrire une fonction Python à installer au bon endroit.
Puis la dernière partie de votre question. Tout d'abord, il est utile de savoir que vous pouvez obtenir une liste des styles disponibles en utilisant
find / -iname 'ggplot.mplstyle' 2>/dev/null
Voir le documentation pour une représentation graphique.
Comment inspecter par exemple ggplot.mplstyle
? Je pense que la meilleure référence dans source de matplotlib a >. Vous pouvez également trouver les fichiers * .mplstyle
sur votre système. Cependant, l'endroit dépend de votre système d'exploitation et de votre installation. Pour moi
import matplotlib.pyplot as plt plt.style.available
donne
import matplotlib matplotlib.get_configdir()
Ou plus généralement vous pouvez rechercher tous les styles:
font.family : serif font.serif : CMU Serif font.weight : bold font.size : 18 text.usetex : true
Pour Windows, je ne suis pas vraiment un expert, mais peut-être que les chemins de fichiers énumérés ci-dessus vous donnent une idée de l'endroit où chercher.
Pour installer vos styles personnalisés au bon endroit, vous pouvez créer un script qui ressemble à quelque chose comme:
plt.style.use(['ggplot', 'mystyle'])
Je vous remercie! C'est vraiment utile et systématique!