2015-05-22 87 views
1

有沒有辦法讓它在matplotlib上製作的情節會像電影一樣循環?如果我有12個不同的情節,並顯示第一個10秒,然後下一個等,然後在最後一個之後重複?由於我想展示的情節數量多,我希望將其作爲子情節的替代方案。使用matplotlib騎自行車的情節

+0

matplotlib有一個'animation'模塊,來看看這個例子:http://matplotlib.org/1.4.2/examples /animation/basic_example.html – heltonbiker

回答

3

是的,使用動畫模塊repeat = True並修改interval參數來控制圖之間的時間。

import matplotlib.animation as animation 

fig = plt.figure()# 


data_, = plot([], []) 


def data_gen(): 
    while i < NUMBER_OF_PLOTS: 
     ''' 
     make your instance of X data in a list called YOUR_X_DATA 
     and your Y data in a list called YOUR_Y_DATA 
     and iterate along it. 
     ''' 
     yield YOUR_X_DATA[i], YOUR_Y_DATA[i] 
     i+=1 

def run(data):     
    data_.set_data(data[0], data[1]) 

ani = animation.FuncAnimation(fig , run, data_gen, interval=100,repeat=True) 
plt.show() 

OR使用time.sleep(10)plt.close(fig)這樣

import time 

# suppose you have fig1, fi2, fig 3 etc. 

while(True): 

    time.sleep(10) 
    plt.close(fig1) 

    # import the next plot 
    time.sleep(10) 
    plt.close(fig2) 


    # import the next plot 

    time.sleep(10) 
    plt.close(fig3) 
+0

這應該工作。是否有可能使它每次有人點擊鼠標或按下空間時都會改變? – greenthumbtack

+0

你的意思是「」去「下一個圖」通過「更改」? – farhawa

+0

是的,我很抱歉 – greenthumbtack