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

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

WBOY
WBOYavant
2023-08-30 19:05:011562parcourir

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

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

conda install -c conda-forge matplotlib

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)

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)

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()

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()

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)

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()

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()

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer