2012-06-18 15 views
6

Es una pregunta bastante básica sobre matplotlib, pero no puedo encontrar la manera de hacerlo:matplotlib, paso a la animación paso

que desea trazar múltiples figuras y el uso de la flecha en la pantalla de diagramas para pasar de una a otro.

por el momento, sólo sé cómo crear mutiple parcelas y la trama en diferentes ventanas de la siguiente manera:

import matplotlib.pyplot as plt 

fig = plt.figure() 
plt.figure(1) 
n= plt.bar([1,2,3,4],[1,2,3,4]) 
plt.figure(2) 
n= plt.bar([1,2,3,4],[-1,-2,-3,-4]) 
plt.show() 

o tener varias figuras en la misma ventana utilizando subtrama.

¿Cómo puedo tener múltiples gráficas en la misma ventana y pasar de una a la siguiente con las flechas?

Gracias de antemano.

+2

Lo siento, pero estoy muy confundido por "parcelas mutliple en la misma ventana y pasar de una a la siguiente con las flechas "... ¿Puedes explicar lo que quieres de otra manera? –

+0

@JoeKington Me gustaría tener un gráfico de barras animado que animaría usando las flechas (siguiente y adelante) en la ventana de la figura. –

Respuesta

10

Para generar una gráfica que se actualiza al presionar las teclas izquierda y derecha, deberá manejar los eventos del teclado (documentos: http://matplotlib.sourceforge.net/users/event_handling.html).

He reunido un ejemplo de la actualización de una trama, utilizando la interfaz pyplot, al pulsar las flechas izquierda y derecha:

import matplotlib.pyplot as plt 
import numpy as np 


data = np.linspace(1, 100) 
power = 0 
plt.plot(data**power) 


def on_keyboard(event): 
    global power 
    if event.key == 'right': 
     power += 1 
    elif event.key == 'left': 
     power -= 1 

    plt.clf() 
    plt.plot(data**power) 
    plt.draw() 

plt.gcf().canvas.mpl_connect('key_press_event', on_keyboard) 

plt.show() 
Cuestiones relacionadas