6

这是关于 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() 

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

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

提前致谢。

4

1 回答 1

13

要生成在您按下左右键时更新的绘图,您需要处理键盘事件(文档: 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()
于 2012-06-20T21:31:12.867 回答