所以,我在这里尝试使用文件中提供的坐标绘制图形。我打开文件并在数组中设置坐标以按照放入图表的方式提供数组。
代码:
import matplotlib
import matplotlib.pyplot as plt
x=[]
y=[]
readFile=open("coordinates.txt","r")
data = readFile.read().split("\n")
print(data)
for i in data:
val = i.split(",")
x.append(int(val[0]))
y.append(int(val[1]))
plt.plot(x,y)
plt.show()
输出:
['3,22', '5,16', '-2,8', '10,43', '4,0', '']
Traceback (most recent call last):
File "/home/nishantsikri/matplotlib from file.py", line 14, in <module>
x.append(int(val[0]))
ValueError: invalid literal for int() with base 10: ''
答案 0 :(得分:1)
问题是文件末尾有一个空行。人们需要检查是否将其附加到列表中。
然而,似乎可以将完整的代码压缩为
import numpy as np
import matplotlib.pyplot as plt
x,y = np.genfromtxt("coordinates.txt", unpack=True, delimiter=",")
plt.plot(x,y)
plt.show()
这也会自动处理空行。
答案 1 :(得分:0)
您的文件中有尾随空格。使用strip
删除尾随空格。
data = readFile.read().strip().split("\n")