Matplotlib aktualisiert den Live-Plot

Ich möchte ein Liniendiagramm mit matplotlib aktualisieren und frage mich, ob es eine gute Änderung des Codes gibt, sodass das Liniendiagramm einfach aktualisiert wird, anstatt jedes Mal neu gezeichnet zu werden. Hier ist ein Beispielcode:

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) 

ie Sie sehen, wird das Zeichnen nach einer Weile langsamer und ich denke, das Liniendiagramm wird bei jeder Iteration neu gezeichnet, da es die Farben änder

Antworten auf die Frage(2)

Ihre Antwort auf die Frage