2012-06-18 149 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()