问题描述
我使用 .set_data() 方法/函数在每一帧之后更新线的坐标。 x1,y1 值正在更新,但它们没有在线图中更新。我在这里做错了什么?
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import numpy as np
fig = plt.figure()
fig.set_dpi(100)
fig.set_size_inches(6,6)
ax=plt.axes(xlim=(-10,10),ylim=(-10,10))
l1,= ax.plot([0.0,1.0],[0.0,5.0],color = 'b',linewidth = 1)
def animate(i):
x1=np.sin(np.radians((i)+90))
y1=np.cos(np.radians((i)+90))
l1.set_data=([0,x1],[0,y1])
#print (x1,y1)
return l1,anim = animation.FuncAnimation(fig,animate,frames=360,interval=20,blit=True)
plt.show()
解决方法
你写了l1.set_data=([0,x1],[0,y1])
。这是一个错字吗?这应该是(注意去掉 = 符号):
l1.set_data([0,y1])