Python 在数组中存储文本文件中的列

Python 在数组中存储文本文件中的列,python,matplotlib,Python,Matplotlib,我试图绘制一系列数据。我的数据由49个变量组成,我想把它分成7个。我将数据存储在由两行x和y组成的文本文件中,如下所示: 我想把这两行分成7行,然后创建一个x,y图,这样在我的图形上就有七行了。我试着这样做: lines = f.readlines() lines1 = lines1[0:6] lines2 = lines2[7:14] lines3 = lines3[15:21] lines4 = lines4[21:28] lines5 = lines5[28:35] lines6 = l

我试图绘制一系列数据。我的数据由49个变量组成,我想把它分成7个。我将数据存储在由两行x和y组成的文本文件中,如下所示:

我想把这两行分成7行,然后创建一个x,y图,这样在我的图形上就有七行了。我试着这样做:

lines = f.readlines()
lines1 = lines1[0:6]
lines2 = lines2[7:14]
lines3 = lines3[15:21]
lines4 = lines4[21:28]
lines5 = lines5[28:35]
lines6 = lines6[35:42]
lines7 = lines7[43:49]
然后,我将把上面所有的数据放在一个数组中,并对y值进行相同的处理。最后,我将绘制变量。但这是低效的,需要很多时间。一定有更容易的办法,但我想不起来。有人能帮忙吗


您可以使用NumPy的
loadtxt
读取数据,然后使用for循环以7个批次绘制x和y坐标。下面是一个示例答案。只需将
sample.txt
替换为实际的文件名(包括文件所在的目录)

编辑添加标签

for lab, i in enumerate(range(0, 49, 7)):
    plt.plot(x[i:i+7], y[i:i+7], label='group %d' %lab)
plt.legend()
plt.show()    

似乎存在一个问题:ticks=np.arange(低、高+1)*step+best_vmin+offset TypeError:“list”对象不可用callable@Mason:这个低和高以及所有这些变量是什么?您确实意识到,如果您只提供了一半的信息,而没有屏幕上出现错误的细节、您使用的数据、您使用的代码等,那么我或任何其他人都无法发现错误。请阅读抱歉,我不明白你的意思?我刚刚用我的文件尝试了你的代码,但它返回了上面的错误。我不知道这个错误意味着什么。@梅森:我的代码中没有
ticks=np.arange(低、高+1)*步长+最佳值+偏移量。这条线是从哪里来的?你能在你的问题中包含给出这个错误的确切代码吗?这是我的控制台中显示的:文件“C:\ProgramData\Anaconda2\lib\site packages\matplotlib\ticker.py”,第1937行,在_raw\u ticks=np.arange(低,高+1)*step+best\u vmin+offset TypeError:“list”对象不可调用
for lab, i in enumerate(range(0, 49, 7)):
    plt.plot(x[i:i+7], y[i:i+7], label='group %d' %lab)
plt.legend()
plt.show()