Copie d'offset de Matplotlib

Beginner

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

Introduction

Dans ce laboratoire, nous allons apprendre à utiliser transforms.offset_copy pour positionner un élément de dessin, tel qu'une chaîne de caractères, à un décalage spécifié dans les coordonnées d'écran par rapport à un emplacement donné dans n'importe quelles coordonnées. Nous allons utiliser la bibliothèque Matplotlib en Python pour créer un nuage de points et un diagramme polaire, puis ajouter du texte à chaque graphique en utilisant offset_copy.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez sur le coin supérieur gauche pour basculer vers l'onglet Carnet de notes 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églerons rapidement le problème pour vous.

Importation des bibliothèques

Nous allons commencer par importer les bibliothèques nécessaires : numpy et matplotlib.pyplot.

import numpy as np
import matplotlib.pyplot as plt

Création de données

Ensuite, nous allons créer des données à utiliser dans nos graphiques. Nous utiliserons numpy pour créer deux tableaux, xs et ys, que nous utiliserons comme coordonnées x et y pour notre nuage de points.

xs = np.arange(7)
ys = xs**2

Création d'un nuage de points

Nous allons maintenant créer un nuage de points à l'aide de la fonction plot de matplotlib.pyplot.

fig = plt.figure(figsize=(5, 10))
ax = plt.subplot(2, 1, 1)

## Plot the data
for x, y in zip(xs, ys):
    plt.plot(x, y, 'ro')

Ajout de texte au nuage de points

Maintenant, nous allons ajouter du texte à notre nuage de points en utilisant offset_copy. Nous allons tout d'abord créer une transformation qui positionne le texte à un décalage spécifié dans les coordonnées d'écran par rapport à un emplacement donné dans n'importe quelles coordonnées. Ensuite, nous utiliserons la fonction text de matplotlib.pyplot pour ajouter le texte au graphique.

## Create the transform
trans_offset = mtransforms.offset_copy(ax.transData, fig=fig,
                                       x=0.05, y=0.10, units='inches')

## Add text to the plot
for x, y in zip(xs, ys):
    plt.text(x, y, '%d, %d' % (int(x), int(y)), transform=trans_offset)

Création d'un graphique polaire

Nous allons maintenant créer un graphique polaire à l'aide de la fonction polar de matplotlib.pyplot.

ax = plt.subplot(2, 1, 2, projection='polar')

## Plot the data
for x, y in zip(xs, ys):
    plt.polar(x, y, 'ro')

Ajout de texte au graphique polaire

Enfin, nous allons ajouter du texte à notre graphique polaire en utilisant offset_copy et la fonction text de matplotlib.pyplot.

## Create the transform
trans_offset = mtransforms.offset_copy(ax.transData, fig=fig,
                                       y=6, units='dots')

## Add text to the plot
for x, y in zip(xs, ys):
    plt.text(x, y, '%d, %d' % (int(x), int(y)),
             transform=trans_offset,
             horizontalalignment='center',
             verticalalignment='bottom')

Sommaire

Dans ce laboratoire, nous avons appris à utiliser transforms.offset_copy pour positionner un élément de dessin à un décalage spécifié dans les coordonnées d'écran par rapport à un emplacement donné dans n'importe quelles coordonnées. Nous avons utilisé cette fonction pour ajouter du texte à un nuage de points et à un graphique polaire créés à l'aide de la bibliothèque matplotlib.pyplot en Python.