Matplotlib actualiza la trama en vivo
Quiero actualizar un diagrama de línea con matplotlib y me pregunto si hay una buena modificación del código, de modo que la línea trazada simplemente se actualice en lugar de volverse a dibujar cada vez. Aquí hay un código de muestra:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
matplotlib.style.use('ggplot')
plt.ion()
fig=plt.figure()
i=0
df = pd.DataFrame({"time": [pd.datetime.now()], "value": 0}).set_index("time")
plt.plot(df);
while True:
temp_y=np.random.random();
df2 = pd.DataFrame({"time": [pd.datetime.now()], "value": temp_y}).set_index("time")
df = df.append(df2)
plt.plot(df)
i+=1
plt.show()
plt.pause(0.000001)
Como puede ver, el trazado se vuelve más y más lento después de un tiempo y creo que el gráfico de líneas se vuelve a dibujar cada iteración ya que cambia de color.