Chcę stworzyć zestaw ramek, które można wykorzystać do animowania fabuły rosnącej linii. W przeszłości zawsze używałam plt.draw() i set_ydata() do przerysowywania danych y, które zmieniały się w czasie. Tym razem chciałbym narysować "rosnącą" linię, przesuwając się po wykresie z czasem. Z tego powodu set_ydata nie działa (xdata zmienia długość). Na przykład:Animowanie "rosnącego" wykresu liniowego w Pythonie/Matplotlib
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.figure()
for n in range(len(x)):
plt.plot(x[:n], y[:n], color='k')
plt.axis([0, 10, 0, 1])
plt.savefig('Frame%03d.png' %n)
Podczas gdy to działa, staje się bardzo powolne w miarę skalowania. Czy jest to szybszy sposób?
Czy masz próbkę (link) do grafiki, którą chcesz odtworzyć? Istnieje pakiet pakietów animacji w Pythonie, którego możesz użyć. –
@MylesBaker Oto przykład tego, jak będzie wyglądać (dla powyższego kodu): http://media.giphy.com/media/3xz2BD48KS3fOGzAJ2/giphy.gif – Blink
Czy chcesz zaktualizować ograniczenia wykresu, ponieważ więcej danych jest narażony? (Tj. Przerysować wykres)? Czy znana jest Twoja domena i zasięg? –