从多个.txt文件中读取数据以在Python中绘制一张图

时间:2020-06-09 20:56:21

标签: python pandas matplotlib

以下python代码可用于从3个.txt文件中绘制数据(两列用空格隔开)。但是,我想从位于同一文件夹中的更多文本文件中绘制数据。有没有办法我可以从文件夹中的所有.txt文件读取数据并将它们全部绘制在同一张图上?

import pandas as pd
import matplotlib.pyplot as plt

data = pd.read_csv('10mm.txt',sep='\s+',header=None)
data = pd.DataFrame(data)

x1 = data[0]
y1 = data[1]
plt.plot(x1, y1, label = "10 mm")

data = pd.read_csv('20mm.txt',sep='\s+',header=None)
data = pd.DataFrame(data)

x2 = data[0]
y2 = data[1]
plt.plot(x2, y2, label = "20 mm")

data = pd.read_csv('30mm.txt',sep='\s+',header=None)
data = pd.DataFrame(data)

x3 = data[0]
y3 = data[1]
plt.plot(x3, y3, label = "30 mm")

plt.xlim(0.15)
plt.ylim(0)
plt.xlabel('x - axis')
plt.ylabel('y - axis')
plt.title('')
plt.legend()
plt.show()

1 个答案:

答案 0 :(得分:0)

您可以循环浏览目录中的文件,如果文件末尾是The fox jumps over the bush, the penguin walks, the cat drinks.,则可以加载数据并进行绘制。请注意,.txt已经返回了DataFrame,因此您无需再次将pd.read_csv()转换为DataFrame。

您必须用data路径替换directory

directory