我有一些输出文件,即frequency1 .txt,frequency2 .txt等等(直到21)。在每个txt文件中我有10列并假设n行,现在我需要为所有这些txt文件绘制第2列和第3列。我能够绘制单个txt文件
import numpy as np
from matplotlib import pyplot as plt
data=np.loadtxt('frequecy1.txt')
pl.plot(data[:,1],data[:,2],'bo')
X=data[:,1]
Y=data[:,2]
plt.plot(X,Y,':ro')
plt.ylim((0,55000))
plt.show()
我如何绘制所有文件?
答案 0 :(得分:1)
首先,不需要同时导入pylab和pyplot。其次,如果所有文件的结构都相同,则此代码应该有效:
import numpy as np
import matplotlib.pyplot as plt
for fname in ('frequency1.txt', 'frequency2.txt' ...):
data=np.loadtxt(fname)
X=data[:,1]
Y=data[:,2]
plt.plot(X,Y,':ro')
plt.ylim((0,55000))
plt.show() #or
plt.save('figure.png')
答案 1 :(得分:1)
只想在@ Korem的回答中添加一些东西。您可以创建import numpy as np
import matplotlib.pyplot as plt
filelist=[]
for i in range(1,5):
filelist.append("frequency%s.dat" %i)
for fname in filelist:
data=np.loadtxt(fname)
X=data[:,0]
Y=data[:,1]
plt.plot(X,Y,':ro')
plt.show()
个文件名,然后使用Gender.push("Gender " + data[i].JenisKelaminID);
循环传递它,而不是手动编写文件名。
if(data[i].JenisKelaminID == 1){
Gender.push("Men");
} else if(data[i].JenisKelaminID == 2){
Gender.push("Women");
} else {
Gender.push("Other");
}
答案 2 :(得分:0)
而不是
plt.show()
使用
plt.save("chart1.png")