Maison > développement back-end > Tutoriel Python > Dessiner des tracés de contour à l'aide de Python Matplotlib

Dessiner des tracés de contour à l'aide de Python Matplotlib

WBOY
Libérer: 2023-08-30 19:05:01
avant
1641 Les gens l'ont consulté

Matplotlib est une bibliothèque de traçage gratuite et open source en Python. Il est utilisé pour créer des graphiques et des tracés 2D à l'aide de scripts Python. Pour utiliser la fonctionnalité matplotlib, nous devons d'abord installer la bibliothèque.

Installer avec pip

Nous pouvons facilement installer le dernier package stable de Matplotlib à partir de PyPi en exécutant la commande suivante dans l'invite de commande.

pip install Matplotlib
Copier après la connexion

Vous pouvez installer Matplotlib via conda en utilisant la commande suivante -

conda install -c conda-forge matplotlib
Copier après la connexion

Contour plot est utilisé pour visualiser des données tridimensionnelles dans une surface bidimensionnelle en traçant des tranches z constantes, appelées contours.

Il est tracé à l'aide de la fonction de contour (Z) qui est fonction de deux entrées X et Y (coordonnées des axes X et Y).

Z = fun(x,y)
Copier après la connexion

Matplotlib fournit deux fonctions plt.contour et plt.contourf pour dessiner des tracés de contour.

Méthode contour()

matplotlib.pyplot. La méthode outline() est utilisée pour tracer des lignes de contour. Il renvoie QuadContourSet. Voici la syntaxe de la fonction -

contour([X, Y,] Z, [levels], **kwargs)
Copier après la connexion

Paramètres

  • [X,Y] : Paramètre facultatif, indiquant la coordonnée de la valeur médiane Z.

  • Z : La valeur de hauteur du contour dessiné.

  • niveaux : utilisés pour déterminer le nombre et l'emplacement des courbes de niveau/régions.

Exemple

Prenons un exemple de dessin de lignes de contour à l'aide des fonctions trigonométriques numpy.

import numpy as np
import matplotlib.pyplot as plt

def f(x, y):
   return np.sin(x) ** 10 + np.cos(10 + y * x) * np.cos(x)

xlist = np.linspace(-4.0, 4.0, 800)
ylist = np.linspace(-4.0, 4.0, 800)

# A mesh is created with the given co-ordinates by this numpy function
X, Y = np.meshgrid(xlist, ylist)
Z = f(X,Y)

fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) 

cp = ax.contour(X, Y, Z)
fig.colorbar(cp) # Add a colorbar to a plot
ax.set_title('Contour Plot')

ax.set_xlabel('x (cm)')
ax.set_ylabel('y (cm)')
plt.show()
Copier après la connexion

Sortie

使用Python Matplotlib绘制等高线图

La fonction

f(x,y) est définie à l'aide de fonctions trigonométriques numpy.

Exemple

Prenons un autre exemple et traçons des lignes de contour.

import numpy as np
import matplotlib.pyplot as plt

def f(x, y):
    return np.sqrt(X**2 + Y**2)

xlist = np.linspace(-10, 10, 400)
ylist = np.linspace(-10, 10, 400)

# create a mesh 
X, Y = np.meshgrid(xlist, ylist)

Z = f(X, Y)

fig = plt.figure(figsize=(6,5))
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) 

cp = ax.contour(X, Y, Z)
ax.set_title('Contour Plot')
ax.set_xlabel('x (cm)')
ax.set_ylabel('y (cm)')
plt.show()
Copier après la connexion

Sortie

使用Python Matplotlib绘制等高线图

La fonction

z est la somme des racines carrées des valeurs des coordonnées x et y. Implémenté à l'aide de la fonction numpy.sqrt().

fonction contourf()

matplotlib.pyplot fournit une méthode contourf() pour dessiner des contours remplis. Voici la syntaxe de la fonction -

contourf([X, Y,] Z, [levels], **kwargs)
Copier après la connexion

Où,

  • [X,Y] : Paramètre facultatif, indiquant la coordonnée de la valeur médiane Z.

  • Z : La valeur de hauteur du contour dessiné.

  • niveaux : utilisés pour déterminer le nombre et l'emplacement des courbes de niveau/régions.

Exemple

Prenons un autre exemple et utilisons la méthode contourf() pour tracer un tracé de contour.

import numpy as np
import matplotlib.pyplot as plt

xlist = np.linspace(-8, 8, 800)
ylist = np.linspace(-8, 8, 800)

X, Y = np.meshgrid(xlist, ylist)
Z = np.sqrt(X**2 + Y**2)

fig = plt.figure(figsize=(6,5))
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8]) 

cp = ax.contourf(X, Y, Z)
fig.colorbar(cp) # Add a colorbar to a plot
ax.set_title('Filled Contours Plot')
#ax.set_xlabel('x (cm)')
ax.set_ylabel('y (cm)')
plt.show()
Copier après la connexion

Sortie

使用Python Matplotlib绘制等高线图

À l'aide de la méthode fig.colorbar(), nous ajoutons de la couleur au tracé. La fonction z est la somme des racines carrées des valeurs des coordonnées x et y.

Exemple

Dans cet exemple, nous allons tracer un tracé de contour polaire en utilisant la méthode matplotlib.plt.contourf().

import numpy as np
import matplotlib.pyplot as plt

a = np.radians(np.linspace(0, 360, 20))
b = np.arange(0, 70, 10)
 
Y, X = np.meshgrid(b, a)
values = np.random.random((a.size, b.size))
 
fig, ax = plt.subplots(subplot_kw=dict(projection='polar'))
ax.set_title('Filled Contours Plot')
ax.contourf(X, Y, values)
 
plt.show()
Copier après la connexion

Sortie

使用Python Matplotlib绘制等高线图

Dans tous les exemples ci-dessus, nous avons utilisé la fonction numpy.meshgrid() pour générer des tableaux de coordonnées X et Y.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal