我是matplotlib的新手,我正在使用这个库来绘制来自csv文件的数据。如果不使用动画功能,图形看起来是正确的,但是当我尝试使用动画时,图形连接了第一个和最后一个点。我查了一下东西,但我无法弄清楚如何解决这个问题。有谁知道如何解决这个问题?以下是我的代码。提前谢谢!
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import csv
x = []
y = []
fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)
def animate(i):
with open("example.txt", "r") as csvfile:
plots = csv.reader(csvfile, delimiter=',')
for row in plots:
x.append(int(row[0]))
y.append(int(row[1]))
ax1.clear()
ax1.plot(x,y)
ani = animation.FuncAnimation(fig, animate, interval=1000)
plt.show()
答案 0 :(得分:0)
您将所有相同的点一遍又一遍地附加到要绘制的列表中。所以说csv文件包含数字1,2,3
你正在做的是读取它们,将它们附加到列表中,绘制它们,然后再次读取它们并附加它们等。
所以x包含in
第1步:1,2,3
第2步:1,2,3,1,2,3
第3步:1,2,3,1,2,3,1,2,3
因此,从第2步开始,将在3和1之间建立连接。
我不知道这个动画的目的是什么,因为动画所有相同的点是没用的。除了没有动画之外,没有直接的解决方案。