我是一个新的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()
1条答案
按热度按时间pengsaosao1#
你一遍又一遍地把所有相同的点添加到列表中,比如说csv文件包含数字
1,2,3
,你所做的就是阅读它们,把它们添加到列表中,绘制它们,然后再次阅读它们并添加它们,等等。所以x包含在步骤1:
1,2,3
步骤2:1,2,3,1,2,3
步骤3:1,2,3,1,2,3,1,2,3
因此,从第2步开始,3和1之间将有一个连接。
我不知道这个动画的目的是什么,因为动画所有相同的点是相当无用的。所以没有直接的解决方案,除了不动画。