Python-如何在单个图形中绘制来自多个文本文件的数据

时间:2018-06-19 20:55:08

标签: python numpy matplotlib plot spyder

我试图通过从单个图(多行)中的多个文本文件导入数据来绘制图。为此,我编写了以下代码:

import glob
import matplotlib.pyplot as plt
import numpy as np


filenames=glob.glob("FHGM3168-01G2-*#1.txt")


for f in filenames:
 print(f)
 data = np.loadtxt(f, skiprows=12)
 plt.figure(figsize=(8,6), dpi=100, frameon=True, clear=False)

 plt.plot(data[:,0],data[:,1])
 plt.axis([-20000, 20000, -0.3, 0.3])

 plt.axvline(x=0, color="black", linestyle='-')
 plt.axhline(y=0, color="black", linestyle='-')


 plt.title("Test")
 plt.xlabel("Field (G)")
 plt.ylabel("Moment(memu)")

 plt.legend()
 plt.show()

上述代码的问题是我无法在单个图形中绘制数据。因为导入50个文本文件时会得到50个单独的图形。有人可以通过更正代码来帮助我。

2 个答案:

答案 0 :(得分:0)

在for循环外初始化图形(plt.figure()等)。如果需要plt.show(),请在循环后执行。

答案 1 :(得分:0)

尝试这样的事情

LocalDate