2014-12-03 55 views
0

我有幾個時間序列以相同的擴展名(* .corr.npy)存儲在numpy數組中。我想用matplotlib在同一個圖中繪製它。繪圖數組相同的擴展Matlotlib

現在我策劃這樣的:

import pylab as plt 
import numpy as num 
a=num.load('100.corr.npy') 
b=num.load('2345.corr.npy') 
... 
plt.plot(a) 
plt.plot(b) 
... 
plt.savefig('corr', papertype='a4', orientation='portrait', format='ps') 

但因爲我有很多陣列我想作一個週期繪製。任何人都可以幫助我嗎?

回答

4

這就是glob標準模塊的亮點! 它將生成符合簡單格式規則的文件列表。

你的情況:

import glob 
import numpy as np 

array_files = glob.glob('*.corr.npy') 
for fname in array_files: 
    x = np.load(fname) 
    plt.plot(x) 

glob.glob將在當前工作目錄進行操作,所以你可能要改用的絕對路徑:

ROOT_DIR = '/some/path/to/array/files/' 
array_files = glob.glob(os.path.join(ROOT_DIR, '*.corr.npy')) 

我看你用num作爲numpy的別名。我認爲np是numpy別名的事實上的標準,所以你可以考慮使用它。