绘制数组相同的扩展名Matplotlib

时间:2014-12-03 16:57:39

标签: python numpy matplotlib

我有几个时间序列存储在具有相同扩展名(* .corr.npy)的numpy数组中。我想用matplotlib在同一个图中绘制它。

现在我正在密谋:

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')

但是由于我有很多阵列,我想为绘图做一个循环。任何人都可以帮我吗?

1 个答案:

答案 0 :(得分: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别名的事实上的标准,所以你可以考虑使用它。