经过一些长时间的计算,我得到的文件包含以下字符串。
(每个字符串用“\ t”分隔,每行末尾都有“\ n”。)
0.0000008375000 829.685601736 555.939928236
0.0000008376000 829.511081539 555.889353246
0.0000008377000 829.336613968 555.838785601
0.0000008378000 829.162199002 555.7882253
0.0000008379000 828.987836621 555.737672342
0.0000008380000 828.813526805 555.687126727
0.0000008381000 828.639269533 555.636588453
然后我尝试绘制这些文件。 (文件的名称以P开头。)
fList = np.array(gl.glob("P*"))
for i in fList:
f = open(i, "r")
data = f.read()
data = data.replace("\n", "\t")
data = np.array(data.split("\t"))[:-1].reshape(-1,3)
plt.plot(data[:,0], data[:,1], label=i)
然后我最终得到了以下错误。
(错误指针表示发生在 plt.plot(数据[:,0],数据[:,1],label = i) )< / p>
ValueError: could not convert string to float: "nbformat": 4,
我查了一些其他教程或演练,但不幸的是,无法理解如何解决这个问题。任何帮助或建议都会非常感激。
答案 0 :(得分:1)
您可以直接使用numpy将文件读入三个数组:
import numpy as np
import matplotlib.pyplot as plt
from glob import glob
fList = glob("P*")
for i in fList:
x,y,z = np.loadtxt(i, unpack=True)
plt.plot(x,y, label=i)
plt.legend()
plt.show()