Fonctions avancées de Quiver et Quiverkey

MatplotlibMatplotlibBeginner
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

Matplotlib est une bibliothèque de visualisation de données en Python qui permet aux utilisateurs de créer une large gamme de graphiques 2D et 3D. L'une des nombreuses fonctionnalités utiles de Matplotlib est la capacité de créer des graphiques de flèches, qui affichent des champs de vecteurs.

Dans ce laboratoire, nous allons explorer quelques options avancées pour les fonctions quiver() et quiverkey() dans Matplotlib. Ces fonctions permettent de personnaliser les flèches dans un graphique de flèches, y compris l'échelle des flèches, le point de pivot et la fréquence des flèches.

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 Notebook 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.

Les flèches sont mises à l'échelle avec la largeur du graphique, pas la vue

La fonction quiver() peut être utilisée pour créer un graphique de flèches. Par défaut, les flèches dans le graphique seront mises à l'échelle avec les données, plutôt que le graphique lui-même. Cela peut rendre difficile de voir les flèches qui sont proches du bord du graphique.

import matplotlib.pyplot as plt
import numpy as np

X, Y = np.meshgrid(np.arange(0, 2 * np.pi,.2), np.arange(0, 2 * np.pi,.2))
U = np.cos(X)
V = np.sin(Y)

fig1, ax1 = plt.subplots()
ax1.set_title('Arrows scale with plot width, not view')
Q = ax1.quiver(X, Y, U, V, units='width')
qk = ax1.quiverkey(Q, 0.9, 0.9, 2, r'$2 \frac{m}{s}$', labelpos='E',
                   coordinates='figure')
plt.show()

Point de pivot et fréquence des flèches

La fonction quiver() peut également être utilisée pour personnaliser le point de pivot des flèches et la fréquence à laquelle elles sont affichées. Le paramètre pivot peut être défini sur 'mid' ou 'tip', et les tableaux passés à quiver() peuvent être coupés pour n'afficher qu'une flèche sur n.

fig2, ax2 = plt.subplots()
ax2.set_title("pivot='mid'; every third arrow; units='inches'")
Q = ax2.quiver(X[::3, ::3], Y[::3, ::3], U[::3, ::3], V[::3, ::3],
               pivot='mid', units='inches')
qk = ax2.quiverkey(Q, 0.9, 0.9, 1, r'$1 \frac{m}{s}$', labelpos='E',
                   coordinates='figure')
ax2.scatter(X[::3, ::3], Y[::3, ::3], color='r', s=5)
plt.show()

Mettre à l'échelle les flèches avec la vue en x

La fonction quiver() permet également de mettre à l'échelle les flèches avec la vue en x. Cela peut être utile pour afficher des flèches à différentes échelles en fonction des données.

fig3, ax3 = plt.subplots()
ax3.set_title("pivot='tip'; scales with x view")
M = np.hypot(U, V)
Q = ax3.quiver(X, Y, U, V, M, units='x', pivot='tip', width=0.022,
               scale=1 / 0.15)
qk = ax3.quiverkey(Q, 0.9, 0.9, 1, r'$1 \frac{m}{s}$', labelpos='E',
                   coordinates='figure')
ax3.scatter(X, Y, color='0.5', s=1)
plt.show()

Sommaire

Ce laboratoire a abordé quelques options avancées pour les fonctions quiver() et quiverkey() dans Matplotlib. Ces options permettent de personnaliser les flèches dans un graphique de flèches, y compris l'échelle des flèches, le point de pivot et la fréquence des flèches. En utilisant ces options, les utilisateurs peuvent créer des graphiques de flèches plus informatifs et visuellement attrayants.