matplotlib,一步一步的动画

时间:2012-06-18 17:53:50

标签: 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() 

或使用子图在同一窗口上有多个数字。

如何在同一个窗口上创建多个图形并使用箭头从一个窗口移动到下一个窗口?

提前致谢。

1 个答案:

答案 0 :(得分:11)

要生成在按左右键时更新的绘图,您需要处理键盘事件(文档: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()