繁体   English   中英

在python中读取并绘制多个txt文件

[英]read and plot multiple txt files in python

我有一些输出文件,即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()

我将如何绘制所有文件?

首先,不需要同时导入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')

只是想在@Korem的答案中添加一些内容。 您可以创建一个文件名list ,然后使用for循环将其传递,而不是手动编写文件名。

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

代替

plt.show()

采用

plt.save("chart1.png")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM