¿Cómo trazar múltiples funciones en la misma figura, en Matplotlib?


109

¿Cómo puedo graficar las siguientes 3 funciones (es decir sin, cosy la suma), en el dominio t, en la misma figura?

from numpy import *
import math
import matplotlib.pyplot as plt

t = linspace(0, 2*math.pi, 400)

a = sin(t)
b = cos(t)
c = a + b

Respuestas:


180

Para trazar varios gráficos en la misma figura, tendrá que hacer:

from numpy import *
import math
import matplotlib.pyplot as plt

t = linspace(0, 2*math.pi, 400)
a = sin(t)
b = cos(t)
c = a + b

plt.plot(t, a, 'r') # plotting t, a separately 
plt.plot(t, b, 'b') # plotting t, b separately 
plt.plot(t, c, 'g') # plotting t, c separately 
plt.show()

ingrese la descripción de la imagen aquí


Bien, ahora, ¿cómo se borran los gráficos si desea trazar el siguiente en un nuevo gráfico?
NoName

@NoName: ¿Qué quieres decir con "borrar las parcelas"? ¿Quiere cerrar la ventana de trazado y trazar una nueva?
Srivatsan

No importa, la cifra predeterminada se borra automáticamente después de llamar, plt.show()por lo que volver a trazar no se trazará en el mismo gráfico.
NoName

51

Quizás una forma más pitónica de hacerlo.

from numpy import *
import math
import matplotlib.pyplot as plt

t = linspace(0,2*math.pi,400)
a = sin(t)
b = cos(t)
c = a + b

plt.plot(t, a, t, b, t, c)
plt.show()

ingrese la descripción de la imagen aquí


1
¿También puedes cambiar los colores de cada gráfico usando este método? ¿Si es así, cómo?
nbro

4
Puede especificar los colores cambiando la plt.plot()parte que: plt.plot(t, a, 'b', t, b, 'g', t, c, 'y'). Puede especificar los colores en función de los colores que se dan en este enlace: matplotlib.org/users/colors.html
Jash Shah

¿No podemos usar ion()en pyplot para esto también, en lugar de trazar todo en una sola línea?
toing_toing

@toing_toing Lo siento, no estoy muy al tanto ion(). ¿Puedes ilustrar con un ejemplo?
Jash Shah

1
¿Cómo es esto "más pitónico" que la respuesta aceptada? "Explícito es mejor que implícito". y la legibilidad apoya la respuesta aceptada en mi humilde opinión (aunque admito que esto es subjetivo). La rápida comprensión de su llamada densa plt.plot () se habilita mediante el uso de una variable "t" similar para las tres curvas, que no es sistemática. Dicho esto, creo que es interesante saber que existe esta versión.
Blupon

6

Simplemente use la función de la plotsiguiente manera

figure()
...
plot(t, a)
plot(t, b)
plot(t, c)
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.