usuario3277335
¿Cómo puedo trazar las siguientes 3 funciones (es decir, sin
, cos
y la adición), en el dominio t
en la misma figura?
import numpy as np
import matplotlib.pyplot as plt
t = np.linspace(0, 2*np.pi, 400)
a = np.sin
b = np.cos
c = a + b
Srivatsan
Para trazar múltiples gráficos en la misma figura tendrás que hacer:
from numpy import *
import math
import matplotlib.pyplot as plt
t = linspace(0, 2*math.pi, 400)
a = sin
b = cos
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()
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
b = cos
c = a + b
plt.plot(t, a, t, b, t, c)
plt.show()
leeladam
Solo usa la función plot
como sigue
figure()
...
plot(t, a)
plot(t, b)
plot(t, c)
-
solo un pequeño cambio: plt.figure()
– Bavafaali
16 de junio de 2022 a las 19:31
Si desea trabajar con la figura, doy un ejemplo en el que desea trazar varias curvas ROC en la misma figura:
from matplotlib import pyplot as plt
plt.figure()
for item in range(0, 10, 1):
plt.plot(fpr[item], tpr[item])
plt.show()
Un método bastante conciso es concatenar los valores de la función horizontalmente para crear una matriz de formas. (len
t = np.linspace(0, 2*np.pi, 400)
a = np.sin
b = np.cos
c = a + b
plt.plot(t, np.c_[a, b, c]);
Si los datos no provienen de una matriz numpy y no desea la dependencia numpy, zip()
es tu amigo.
plt.plot(t, list(zip(a, b, c)));
Dado que hay 3 gráficos diferentes en un solo gráfico, tal vez tenga sentido insertar una leyenda para distinguir cuál es cuál. Eso se puede hacer fácilmente pasando la etiqueta.
plt.plot(t, np.c_[a, b, c], label=['sin', 'cos', 'sin+cos']);
plt.legend();