我想删除动画中的图形, 当文本行超过19行时。.
我的代码已引用this video 如果文本行超过19行,则会删除该图形。
我曾经使用过remove()
和del
,但这是行不通的,因为在此代码中使用remove()
和del
不会自动删除图形。
当文本行超过19行时,重新执行matplotlib时,图形将被删除。
我也尝试使用plt.cla
,plt.clf
,但这件事..
也要删除标签。.我不想删除标签和标题
我该如何解决?
这是我的代码:
fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)
plt.xlim(-190,190)
plt.ylim(-190,190)
def animate(i):
graph_data = open('data.txt', 'r').read()
lines = graph_data.split('\n')
xs = []
ys = []
for line in lines:
if len(line) > 1:
x, y = line.split(',')
xs.append(x)
ys.append(y)
ax1.plot(xs, ys, 'r')
if (graph_data.count(' \n')+1) >=19:
ax1.lines[0].remove()
##del ax1.lines[0]
##plt.cla()
ani = animation.FuncAnimation(fig, animate,interval=1, frames=2, repeat=True)
plt.show()
答案 0 :(得分:0)
尝试为行计数函数的值分配一个变量,如下所示:
return_value = graph_data.count(' \n')+1
打印此值,并在添加行时查看计数功能是否正常工作 希望这可以帮助。