Création d'un graphique avec des polices personnalisées

Beginner

This tutorial is from open-source community. Access the source code

Introduction

Dans ce laboratoire, vous allez apprendre à créer un graphique avec des polices personnalisées à l'aide de la bibliothèque Python Matplotlib. Vous allez être introduit au paramètre pgf.texsystem qui vous permet d'utiliser LaTeX pour personnaliser la famille de polices de votre graphique.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Carnet de notes pour accéder au carnet Jupyter pour pratiquer.

Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations du carnet Jupyter.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous résoudrons rapidement le problème pour vous.

Import Matplotlib et définir le paramètre pgf.texsystem

Tout d'abord, vous devez importer la bibliothèque Matplotlib et définir le paramètre pgf.texsystem sur pdflatex. Ce paramètre vous permet d'utiliser LaTeX pour personnaliser la famille de polices de votre graphique.

import matplotlib.pyplot as plt

plt.rcParams.update({
    "pgf.texsystem": "pdflatex",
})

Définir la famille de polices

Ensuite, vous devez définir la famille de polices que vous souhaitez utiliser dans votre graphique. Dans cet exemple, nous utiliserons la famille de polices cmbright.

plt.rcParams.update({
    "pgf.texsystem": "pdflatex",
    "pgf.preamble": "\n".join([
         r"\usepackage[utf8x]{inputenc}",
         r"\usepackage[T1]{fontenc}",
         r"\usepackage{cmbright}",
    ]),
})

Créer le graphique

Maintenant, vous pouvez créer votre graphique à l'aide de la fonction plt.subplots(). Dans cet exemple, nous allons créer un graphique en ligne simple.

fig, ax = plt.subplots(figsize=(4.5, 2.5))

ax.plot(range(5))

Ajouter du texte au graphique

Vous pouvez ajouter du texte à votre graphique à l'aide de la fonction ax.text(). Dans cet exemple, nous allons ajouter du texte avec différentes familles de polices.

ax.text(0.5, 3., "serif", family="serif")
ax.text(0.5, 2., "monospace", family="monospace")
ax.text(2.5, 2., "sans-serif", family="sans-serif")
ax.set_xlabel(r"µ n'est pas $\mu$")

Ajuster la mise en page et enregistrer le graphique

Enfin, vous pouvez ajuster la mise en page de votre graphique et l'enregistrer dans un fichier à l'aide respectivement des fonctions fig.tight_layout() et fig.savefig().

fig.tight_layout(pad=.5)

fig.savefig("pgf_texsystem.pdf")
fig.savefig("pgf_texsystem.png")

Sommaire

Dans ce laboratoire, vous avez appris à créer un graphique avec des polices personnalisées à l'aide de la bibliothèque Python Matplotlib. Vous avez utilisé le paramètre pgf.texsystem pour définir la famille de polices de votre graphique et la fonction ax.text() pour ajouter du texte avec différentes familles de polices. Vous avez également appris à ajuster la mise en page de votre graphique et à l'enregistrer dans un fichier.