我遵循这个链接如何在Python中将多个numpy文件追加到一个numpy文件中,将所有的numpy文件放入一个文件中。 现在,我需要绘制包含许多数组的文件,每个数组都包含一些浮点数:这是我的最终代码,将数组追加到一个大数组中:
import matplotlib.pyplot as plt
import numpy as np
import glob
import os, sys
fpath ="/home/user/Desktop/OutFileTraces.npy"
npyfilespath="/home/user/Desktop/test"
os.chdir(npyfilespath)
npfiles= glob.glob("*.npy")
npfiles.sort()
all_arrays = []
with open(fpath,'ab') as f_handle:
for npfile in npfiles:
#Find the path of the file and Load file
all_arrays.append(np.load(os.path.join(npyfilespath, npfile)))
np.save(f_handle, all_arrays)
data = np.load(fpath)
print data
这段代码给我生成了以下结果:
[[[[-0.00824758 -0.0081808 -0.00811402 ..., -0.0077236 -0.00765425
-0.00762086]]]
[[[-0.00141527 -0.00160791 -0.00176716 ..., -0.00821419 -0.00822446
-0.0082296 ]]]
[[[ 0.01028957 0.01005326 0.0098298 ..., -0.01043341 -0.01050019
-0.01059523]]]
...,
[[[ 0.00614908 0.00581004 0.00549154 ..., -0.00814741 -0.00813457
-0.00809347]]]
[[[-0.00291786 -0.00309509 -0.00329287 ..., -0.00809861 -0.00797789
-0.00784175]]]
[[[-0.00379887 -0.00410453 -0.00438963 ..., -0.03497837 -0.0353842
-0.03575151]]]]
我需要绘制包含大数组的最终文件OutFileTraces.npy的图表。为此,我使用以下代码:
import matplotlib.pyplot as plt
import numpy as np
dataArray1= np.load(r'/home/user/Desktop/OutFileTraces.npy')
print(dataArray1)
plt.plot(dataArray1.T )
plt.show()
它给我这个错误:
raise ValueError("x and y can be no greater than 2-D") ValueError: x 和 y 不能大于2维
所有的值都代表y轴,但我的x轴表示从1到8000的点。因此,我理解为了绘制最终的大数组,它必须像这样看起来(区别在于[]
):
[[-0.00824758 -0.0081808 -0.00811402 ..., -0.0077236 -0.00765425
-0.00762086]
[-0.00141527 -0.00160791 -0.00176716 ..., -0.00821419 -0.00822446
-0.0082296 ]
[ 0.01028957 0.01005326 0.0098298 ..., -0.01043341 -0.01050019
-0.01059523]
...,
[0.00614908 0.00581004 0.00549154 ..., -0.00814741 -0.00813457
-0.00809347]
[-0.00291786 -0.00309509 -0.00329287 ..., -0.00809861 -0.00797789
-0.00784175]
[-0.00379887 -0.00410453 -0.00438963 ..., -0.03497837 -0.0353842
-0.03575151]]
我可以轻松绘制这个文件。
所以我实在无法理解问题所在。
如果您能帮助我,我将非常感激。
data.shape
是什么? - hpaulj