我试图通过从单个图(多行)中的多个文本文件导入数据来绘制图。为此,我编写了以下代码:
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个单独的图形。有人可以通过更正代码来帮助我。
答案 0 :(得分:0)
在for循环外初始化图形(plt.figure()等)。如果需要plt.show(),请在循环后执行。
答案 1 :(得分:0)
尝试这样的事情
LocalDate