Bazı temel animasyonlar için matplotlib'in animasyon modülünde FuncAnimation kullanıyorum. Bu işlev sürekli olarak animasyonun içinden geçer. Animasyonu duraklatıp, fare tıklamaları ile yeniden başlatabileceğim bir yol var mı?python matplotlib animasyonu durdur/başlat/duraklat Animasyon
cevap
Burada, fare tıklamaları üzerinde duraklatmak için değiştirdiğim a FuncAnimation example. Animasyon, pause
genel değişkeni True olduğunda, bir jeneratör işlevi, simData
tarafından çalıştırıldığı için, aynı verileri elde etmek, animasyonun duraklatılmasını sağlar.
paused
değeri bir olay geri arama kurarak konum değiştirir:
def onClick(event):
global pause
pause ^= True
fig.canvas.mpl_connect('button_press_event', onClick)
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.animation as animation
pause = False
def simData():
t_max = 10.0
dt = 0.05
x = 0.0
t = 0.0
while t < t_max:
if not pause:
x = np.sin(np.pi*t)
t = t + dt
yield x, t
def onClick(event):
global pause
pause ^= True
def simPoints(simData):
x, t = simData[0], simData[1]
time_text.set_text(time_template%(t))
line.set_data(t, x)
return line, time_text
fig = plt.figure()
ax = fig.add_subplot(111)
line, = ax.plot([], [], 'bo', ms=10)
ax.set_ylim(-1, 1)
ax.set_xlim(0, 10)
time_template = 'Time = %.1f s'
time_text = ax.text(0.05, 0.9, '', transform=ax.transAxes)
fig.canvas.mpl_connect('button_press_event', onClick)
ani = animation.FuncAnimation(fig, simPoints, simData, blit=False, interval=10,
repeat=True)
plt.show()
Bu çalışır ...
anim = animation.FuncAnimation(fig, animfunc[,..other args])
#pause
anim.event_source.stop()
#unpause
anim.event_source.start()
@fred cevaplar birleştirmek uzun @unutbu burada, animasyonu oluşturduktan sonra bir onClick işlevi ekleyebiliriz:
import matplotlib.pyplot as plt
import matplotlib.animation as animation
fig = plt.figure()
def run_animation():
anim_running = True
def onClick(event):
nonlocal anim_running
if anim_running:
anim.event_source.stop()
anim_running = False
else:
anim.event_source.start()
anim_running = True
def animFunc(...args...):
# Animation update function here
fig.canvas.mpl_connect('button_press_event', onClick)
anim = animation.FuncAnimation(fig, animFunc[,...other args])
run_animation()
Artık animasyonu tıklamayla durdurabilir veya başlatabiliriz.
Matplotlib'in hangi sürümünü kullanıyorsunuz? Bu benim için işe yaramıyor gibi görünüyor – bretcj7
@ bretcj7 Sürüm 1.5.3 kullanıyorum. Üzgünüm, bundan bahsetmeliydin! – woodenflute
Event_source.stop() için matplotlib belgesini bulamıyorum veya başlatılamıyor muyum? Var mı? – bretcj7
- 1. Matplotlib Animasyon
- 2. Sorun giderme matplotlib animasyonu
- 3. Kaydet Matplotlib Animasyon
- 4. matplotlib, adım animasyon adım
- 5. VideoView animasyonu öncesi animasyon yükleme
- 6. Animasyon başlamadan önce animasyonu güncelle
- 7. Altpipler ve ArtistAnimation ile matplotlib kullanılarak animasyon
- 8. Python Matplotlib
- 9. Matplotlib, Python
- 10. Matplotlib/Python
- 11. Android alpha animasyonu: Animasyon tamamlandığında son animasyon karesinde kalıyor
- 12. CSS ana karesi animasyonu Safari'de çalışmayan animasyon
- 13. Matplotlib - Python hata
- 14. Python: Matplotlib Surface_plot
- 15. Python matplotlib Şekil
- 16. Göm Python/Numpy/Matplotlib?
- 17. dalgalı animasyonu
- 18. Komut isteminde animasyon bekletiliyor (Python)
- 19. Animasyon animasyonu ile panelin gizlenmesi nasıl gizlenir? Gwt.
- 20. Windows Phone 7 Liste üzerinde listelenen animasyon animasyonu
- 21. 3D Animasyon iki Faaliyet arasında animasyonu nasıl oluşturulur Android
- 22. FloatingActionButton simge animasyonu (Android FAB src çekilebilir animasyon)
- 23. iOS: springWithFlashFrame animasyonu için animasyon gibi animasyonlar yapıyor
- 24. Performans CSS3 animasyonu (Chrome Animasyon Araçları'nda hala basit bir animasyon değil)
- 25. Matplotlib
- 26. Blackberry - düzeni animasyonu alanları
- 27. Matplotlib
- 28. Animasyon Sonrası Geri Arama?
- 29. VideoGörünüm Animasyon
- 30. Android Çevirme Animasyon
Mükemmel, çok teşekkürler! Bu benim için hile yaptı. –
Sevimli, kullanışlı, eğlenceli ve bir şekilde, nostaljik; https://youtu.be/TxmZ5sabk7U?t=17 veya https://youtu.be/C1HuX6nQnQY?t=211 – uhoh