2016-03-07 16 views
8

Hem python hem de stackoverflow için yeniyim ve matplotlib'deki örneklere gidiyorum. Ben de aynı sorunla birlikte bir previously unanswered question stackoverflow içinde bulmak mümkün olmasına rağmen, bu sorunun çözümü için hiçbir şans aramadım.Matplotlib'den gelen animasyon casusta çalışmıyor

Temel olarak, örneklerdeki kodu matplotlib; Örneğin:

import numpy as np 
import matplotlib.pyplot as plt 
import matplotlib.animation as animation 
def data_gen(t=0): 
    cnt = 0 
    while cnt < 1000: 
     cnt += 1 
     t += 0.1 
     yield t, np.sin(2*np.pi*t) * np.exp(-t/10.) 
def init(): 
    ax.set_ylim(-1.1, 1.1) 
    ax.set_xlim(0, 10) 
    del xdata[:] 
    del ydata[:] 
    line.set_data(xdata, ydata) 
    return line, 

fig, ax = plt.subplots() 
line, = ax.plot([], [], lw=2) 
ax.grid() 
xdata, ydata = [], [] 


def run(data): 
    # update the data 
    t, y = data 
    xdata.append(t) 
    ydata.append(y) 
    xmin, xmax = ax.get_xlim() 

    if t >= xmax: 
     ax.set_xlim(xmin, 2*xmax) 
     ax.figure.canvas.draw() 
    line.set_data(xdata, ydata) 

    return line, 

ani = animation.FuncAnimation(fig, run, data_gen, blit=False, interval=10, 
          repeat=False, init_func=init) 
plt.show() 

ben hem Anaconda 2 (piton 2.7) & 3 (piton 3.5) çeşitli animasyon örnekleri çalıştırmak ettik ve hem animasyon olmadan bana boş arsa verir. Ancak, her animasyon Enthought Canopy'de mükemmel çalışır.

Spyder kullanırken eksik bir şey var mı?

cevap

9

IPodon konsolunda bir animasyon çalıştırmak için arka ucunu değiştirmeniz gerekir. Animasyondan önce %matplotlib qt komutunu çalıştırarak bunu yapabilirsiniz. Bu komutu her zaman kullanmak istemiyorsanız

, sen gidebilirsin: Tools > Preferences > IPython Console > Graphics > Backend ve "Inline" den "Automatic" olarak değiştirin.

Güncelleme: Şubat 2018, bu şimdi python'da> Tercihler Pencerede pencerenin LH bölmesinde IPython konsolunu seçin. Grafik sekmesini seçin ve arka uç orada.

Daha fazla bilgi için lütfen this numaralı telefonu okuyun.

+1

Mükemmel, teşekkürler! Yeterli temsilcisi olduğumda oy kullanacağım. – Medalgardr

+0

'% matplotlib qt5' benim için çalıştı. – cjorssen