Personnaliser le style du texte dans les tracés Matplotlib

PythonPythonBeginner
Pratiquer maintenant

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

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons apprendre à contrôler le style du texte et des étiquettes dans un tracé Matplotlib en utilisant un dictionnaire. En créant un dictionnaire d'options, nous pouvons partager des paramètres entre plusieurs objets de texte et étiquettes. Cela nous permettra de personnaliser facilement la famille de polices, la couleur, le poids et la taille du texte dans nos tracés.

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 d'adresses pour accéder à Jupyter Notebook pour la pratique.

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

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlottingDataGroup(["Plotting Data"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlotCustomizationGroup(["Plot Customization"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") matplotlib/PlottingDataGroup -.-> matplotlib/line_plots("Line Plots") python/DataStructuresGroup -.-> python/tuples("Tuples") python/DataStructuresGroup -.-> python/dictionaries("Dictionaries") matplotlib/PlotCustomizationGroup -.-> matplotlib/titles_labels("Adding Titles and Labels") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("Numerical Computing") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48983{{"Personnaliser le style du texte dans les tracés Matplotlib"}} matplotlib/figures_axes -.-> lab-48983{{"Personnaliser le style du texte dans les tracés Matplotlib"}} matplotlib/line_plots -.-> lab-48983{{"Personnaliser le style du texte dans les tracés Matplotlib"}} python/tuples -.-> lab-48983{{"Personnaliser le style du texte dans les tracés Matplotlib"}} python/dictionaries -.-> lab-48983{{"Personnaliser le style du texte dans les tracés Matplotlib"}} matplotlib/titles_labels -.-> lab-48983{{"Personnaliser le style du texte dans les tracés Matplotlib"}} python/importing_modules -.-> lab-48983{{"Personnaliser le style du texte dans les tracés Matplotlib"}} python/numerical_computing -.-> lab-48983{{"Personnaliser le style du texte dans les tracés Matplotlib"}} python/data_visualization -.-> lab-48983{{"Personnaliser le style du texte dans les tracés Matplotlib"}} end

Importez les bibliothèques nécessaires

Nous allons commencer par importer les bibliothèques nécessaires pour ce tutoriel. Nous utiliserons Matplotlib et NumPy.

import matplotlib.pyplot as plt
import numpy as np

Définissez le dictionnaire de police

Ensuite, nous allons définir le dictionnaire de police qui contiendra les options de style pour notre texte et nos étiquettes. Dans cet exemple, nous allons définir la famille de police sur 'serif', la couleur sur 'darkred', le poids sur 'normal' et la taille sur 16.

font = {'family': 'serif',
        'color':  'darkred',
        'weight': 'normal',
        'size': 16,
        }

Créez le tracé

Maintenant, nous pouvons créer notre tracé. Nous allons générer des données à l'aide de NumPy et tracer une courbe d'amortissement d'exponentielle décroissante.

x = np.linspace(0.0, 5.0, 100)
y = np.cos(2*np.pi*x) * np.exp(-x)

plt.plot(x, y, 'k')

Personnalisez le titre

Nous pouvons personnaliser le titre de notre tracé en utilisant le dictionnaire de police que nous avons défini précédemment. Nous allons définir le paramètre fontdict de la fonction title() sur notre dictionnaire de police.

plt.title('Damped Exponential Decay', fontdict=font)

Ajoutez du texte au tracé

Nous pouvons ajouter du texte à notre tracé en utilisant la fonction text(). Dans cet exemple, nous allons ajouter une expression LaTeX au tracé en utilisant le dictionnaire de police pour personnaliser le style.

plt.text(2, 0.65, r'$\cos(2 \pi t) \exp(-t)$', fontdict=font)

Personnalisez les étiquettes des axes

Nous pouvons également personnaliser les étiquettes des axes de notre tracé en utilisant le dictionnaire de police. Nous allons définir le paramètre fontdict des fonctions xlabel() et ylabel() sur notre dictionnaire de police.

plt.xlabel('Time (s)', fontdict=font)
plt.ylabel('Voltage (mV)', fontdict=font)

Ajustez l'espacement

Enfin, nous pouvons ajuster l'espacement de notre tracé pour éviter le recouvrement de l'étiquette y. Nous allons utiliser la fonction subplots_adjust() pour ajuster la marge gauche.

plt.subplots_adjust(left=0.15)

Sommaire

Dans ce laboratoire, nous avons appris à contrôler le style du texte et des étiquettes dans un tracé Matplotlib en utilisant un dictionnaire. En créant un dictionnaire de police, nous pouvons facilement personnaliser la famille de police, la couleur, le poids et la taille du texte dans nos tracés. Nous avons utilisé cette technique pour personnaliser le titre, le texte et les étiquettes des axes de notre tracé, et ajusté l'espacement pour éviter le recouvrement de l'étiquette y.