我有几个带有x和y值的文件,我想将它们同时绘制成一个图形。 为此,我想创建一个循环,程序写入x数据和y数据,这样我最终得到一个如下所示的数组:
results=[[x1],[y1],[x2],[y2],....]
之后我想在一张图中绘制所有数据,但颜色不同。这是自动的。
编辑:我的代码看起来就像这样:
#Program to show FFT intensitys of interfering waves with phase difference
path='pah_to_files'
files=['0pi.txt','0.25pi.txt','0.5pi.txt','0.75pi.txt','1pi.txt']
#read data
for i in range (len(files)):
data=np.loadtxt(path+'/'+files[i], usecols=(0,1))
position=data[:,0] #first column is position
intensity=data[:,1] #second column is intensity
我知道这个循环读取文件,但它总是覆盖以前的位置和强度数据。
答案 0 :(得分:1)
完成任务的更好方法是zip
,如下所示:
x_values = [1,2,3,4,5]
y_values = ['a','b','c','d']
pairs_of_values = zip(x_values, y_values)
现在pairs_of_values[0]
将是元组 (1,'a')
。
答案 1 :(得分:0)
以下行可用于按结果列出的方式填充结果列表:
results = [];
for x in range(10):
y = x*x
results.append([x])
results.append([y])
print results
答案 2 :(得分:0)
抱歉,我现在使用Python已经4天了,我想我必须更加小心列表和数组....以下代码解决了我阅读文件的问题。
#Program to show FFT intensitys of interfering waves with phase difference
path='pah_to_files'
files=['0pi.txt','0.25pi.txt','0.5pi.txt','0.75pi.txt','1pi.txt']
results=[]
#read data
for i in range (len(files)): #all files which are tortured the folloing way
data=np.loadtxt(path+'/'+files[i], usecols=(0,1))
results.append(data[:,0]) #x-position
results.append(data[:,1]) #intensity