Para explicarlo mejor voy a mostrarles el primer código:
import matplotlib.pyplot as plt import numpy as np pendientes = [2,4,6] x = np.arange(-10,10,0.01) y1 = 2*x + pendientes[0] y2 = 2*x + pendientes[1] y3 = 2*x + pendientes[2] plt.plot(x,y1) plt.plot(x,y2) plt.plot(x,y3) plt.show()
Podemos ver en este código, la manera en que definí 3 funciones (ecuaciones de recta) similares pero con diferente pendiente (una con 2, otra con 4 y otra con 6). También vemos que gráfique las tres funciones usando el mismo x.
El resultado es el siguiente:
Matplotlib se encarga de asignar un colo diferente a cada gráfica para que podamos diferenciarlas fácilmente.
Aunque el último código es correcto existe una forma mas compacta de realizar la gráfica de varias funciones y es simplemente pasarle todos los argumentos a una sola función plot.
import matplotlib.pyplot as plt import numpy as np pendientes = [2,4,6] x = np.arange(-10,10,0.01) y1 = 2*x + pendientes[0] y2 = 2*x + pendientes[1] y3 = 2*x + pendientes[2] plt.plot(x,y1,x,y2,x,y3) plt.show()
Como vemos el código se redujo a escribir una sola función plot con 6 argumentos ( 1x, 1y, 2x, 2y, 3x, 3y).
Matplotlib pone por defecto en la misma gráfica todas las funciones que le pasemos. Esto se debe a que la propiedad "hold" esta activada por defecto (esto significa que mantiene todas las funciones y las gráfica en un solo plano).
Si queremos obtener gráficas en diferentes ventanas debemos decirle a matplolib que estamos graficando figuras diferentes de la siguiente manera:
import matplotlib.pyplot as plt import numpy as np pendientes = [2,4,6] x = np.arange(-10,10,0.01) y1 = 2*x + pendientes[0] y2 = 2*x + pendientes[1] y3 = 2*x + pendientes[2] plt.figure(1) plt.plot(x,y1) plt.figure(2) plt.plot(x,y2) plt.figure(3) plt.plot(x,y3) plt.show()
De esa manera, le decimos al programa explicitamente que queremos que grafique en ventanas diferentes y por lo tanto obtenemos gráficas totalmente distintas.
No hay comentarios:
Publicar un comentario