我有大约150个文本文件,我想从中加载数据,然后绘制到散点图。正在使用numpy.loadtxt
加载文件,如下所示:
x,y=loadtxt('2.8k to 293k 15102014_rerun 147_0K.txt',skiprows=1,unpack=True,dtype=float,delimiter=",")
如何从给定文件夹加载~150个文件并将它们全部绘制出来。
答案 0 :(得分:0)
以下内容读取当前文件夹中名为*.txt
的所有文件,然后将其绘制到带有matplotlib
的交互式图表中。我使用glob
模块作为通配符匹配的目录列表,如果您只想要所有文件,则可以使用os.listdir('.')
。
import glob
from matplotlib import pyplot as plt
import numpy as np
plt.clf()
plt.subplot(111)
for f in glob.glob('*.txt'):
print(f)
x, y=np.loadtxt(f,skiprows=1,unpack=True,dtype=float,delimiter=",")
plt.scatter(x,y)
plt.show()
以下代码将每组数据输出到不同的图表 - 名称取自输入文件的名称。
import glob
from matplotlib import pyplot as plt
import numpy as np
for f in glob.glob('*.txt'):
base_name = f[:-4]
print(f)
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
x, y=np.loadtxt(f,skiprows=1,unpack=True,dtype=float,delimiter=",")
ax.scatter(x,y)
fig.savefig(base_name+'.png')