¿Cómo cambiar el color de las curvas trazadas cuando se usan animaciones en Python MatPlotLib?

Tengo un fragmento de código que utiliza el método FuncAnimation en Python MatPlotLib para generar 50 curvas de decaimiento exponencial aleatorias y actualizar la gráfica mostrando las curvas a medida que se generan. Cada curva aparece con diferentes colores. Me gustaría poder sombrear las curvas previas ya que la nueva se genera en un color establecido, por ejemplo, Azul. Espero que alguien pueda ayudar.

import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation import random fig = plt.figure() ax1 = fig.add_subplot(1,1,1) def main(i): # Actual parameters A0 = 10 K0 = random.uniform(-15,-1) C0 = random.uniform(0,10) # Generate some data based on these tmin, tmax = 0, 0.5 num = 20 t = np.linspace(tmin, tmax, num) y = model_func(t, A0, K0, C0) ax1.plot(t,y) def model_func(t, A, K, C): return A * np.exp(K * t) ani = animation.FuncAnimation(fig, main, interval=1000) plt.show() 

tienes que almacenar la instancia de línea que devuelve la plot y llamar a set_color(color) antes de dibujar de nuevo:

 import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation import random # an empty variable, whre we store the returned line of plot: line = None fig = plt.figure() ax1 = fig.add_subplot(1,1,1) def main(i): # we have to make line global: global line # Actual parameters A0 = 10 K0 = random.uniform(-15,-1) C0 = random.uniform(0,10) # Generate some data based on these tmin, tmax = 0, 0.5 num = 20 t = np.linspace(tmin, tmax, num) y = model_func(t, A0, K0, C0) # check if line already exists, if yes make it gray: if line is not None: line.set_color('gray') # plot returns a list with line instances, one for each line you draw, # the comma is used to unpack the one element list line, = ax1.plot(t,y, color='red') def model_func(t, A, K, C): return A * np.exp(K * t) ani = animation.FuncAnimation(fig, main, interval=1000) plt.show() 

resultado de la trama