Gráficas de contorno en Matplotlib
Una manera de visualizar una función de dos variables es usar un campo escalar, en el que el escalar \(z = f(x,y)\) se asigna al punto \((x,y)\). Un campo escalar puede caracterizarse por sus curvas de nivel (o líneas de contorno) a lo largo de las cuales el valor de \(f(x,y)\) es constante.
El trazo de gráficas de lineas de contorno o curvas de nivel puede hacerse en Matplotlib utilizando la función
contour
, por ejemplo:import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(111)
x = y = np.linspace(-5, 5, 100)
X,Y = np.meshgrid(x,y)
Z = (-4*X)/(X**2 + Y**2 + 1)
cs = ax.contour(X,Y,Z)
plt.show()
Podemos aumentar el número de niveles si agregamos un argumento de entrada a la función
contour
, por ejemplo:cs = ax.contour(X, Y, Z, 20)
Con lo anterior tendríamos representados 20 niveles o 20 planos de valores constantes f(x, y)=C.
Se pueden agregar etiquetas a cada curva de nivel si utilizamos el método
clabel
, por ejemplo:import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(111)
x = y = np.linspace(-5, 5, 100)
X,Y = np.meshgrid(x,y)
Z = (-4*X)/(X**2 + Y**2 + 1)
cs = ax.contour(X, Y, Z, 15)
ax.clabel(cs, fontsize=8)
plt.show()
Comentarios
Comments powered by Disqus