2012-06-18 89 views
6

这是对matplotlib一个非常基本的问题,但我无法弄清楚如何做到这一点:matplotlib,一步一步动画

我想绘制多种图形和使用箭头在绘图窗口从一个移动到另一个。

暂时我只知道如何创建多发图和绘制它们在不同的窗口是这样的:

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() 

或有次要情节使用同一窗口上的多个数字。

我怎样才能在同一个窗口上有多个图并且从一个箭头移动到另一个?

在此先感谢。

+2

我很抱歉,但我很困惑在同一个窗口,并用箭头“从一个移动到另一个”......你能用另一种方式解释你想要的吗? –

+0

@JoeKington我想要一个动画条形图,我会在图形窗口中使用箭头(下一个和前进)来设置动画。 –

回答

10

要生成一个在您按左右键时更新的图,您需要处理键盘事件(文档:http://matplotlib.sourceforge.net/users/event_handling.html)。

我已经把更新的情节,使用pyplot界面,当你按下左,右箭头的例子:通过“复式地块

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()