Matplotlib atualizando plotagem ao vivo

Quero atualizar um gráfico de linhas com matplotlib e me pergunto se há uma boa modificação do código, de modo que a linha plotada simplesmente seja atualizada em vez de ser redesenhada toda vez. Aqui está um código de exemplo:

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 você vê, a plotagem fica cada vez mais lenta depois de um tempo e acho que o gráfico de linhas é redesenhado a cada iteração, pois muda de cor.

questionAnswers(1)

yourAnswerToTheQuestion