Python24:连接第一个和最后一个点的Maplotlib Animation

时间:2017-12-14 01:25:19

标签: python-2.7 animation matplotlib

我是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()

Plot found using the animation

1 个答案:

答案 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之间建立连接。

我不知道这个动画的目的是什么,因为动画所有相同的点是没用的。除了没有动画之外,没有直接的解决方案。