2013-09-22 24 views
5

Ho copiato i frammenti di codice da http://goo.gl/J802b0 in una console di notebook ipython per provare queste funzionalità matplotlib. Ottengo i cursori e i pulsanti che appaiono dopo che ho inserito le celle del codice, ma senza alcuna funzionalità.matplotlib.widget non funziona nel notebook ipython

Sto eseguendo il blocco appunti ipython --pylab inline.

Qualsiasi suggerimento sarebbe molto apprezzato.

Ecco un esempio che traccia una sinusoide e aggiunge Avanti e Indietro pulsanti che presumibilmente cambieranno gli assi, ma non ottengo alcuna interattività:

from matplotlib.widgets import Button 

fig, ax = plt.subplots() 
fig.subplots_adjust(bottom=0.2) 

t = np.linspace(0, 10, 1000) 
line, = plt.plot(t, np.sin(t), lw=2) 

class Index: 
    dt = 0 
    def next(self, event): 
     self.dt -= 1 
     line.set_ydata(np.sin(t + self.dt)) 
     fig.canvas.draw() 

    def prev(self, event): 
     self.dt += 1 
     line.set_ydata(np.sin(t + self.dt)) 
     fig.canvas.draw() 

callback = Index() 
axprev = plt.axes([0.7, 0.05, 0.1, 0.075]) 
axnext = plt.axes([0.81, 0.05, 0.1, 0.075]) 

bnext = Button(axnext, '>') 
bnext.on_clicked(callback.next) 

bprev = Button(axprev, '<') 
bprev.on_clicked(callback.prev) 
+0

Avete mai capito questo? – lemiant

risposta

3

Le figure sono serviti nel web-browser come un png e non avere un tipo di mappa immagine (guarda la fonte di ciò che il quaderno ti serve) quindi non credo che questa funzionalità esista ancora nelle figure in linea.

Il codice dovrebbe funzionare se si utilizza uno dei backend interattivi inclusi (con il proprio kit di strumenti di scelta).

Problemi correlati