Spu*_*ate 2 python graph matplotlib
我正在尝试对正在绘制的正弦函数进行动画处理,但在新绘制的图形部分上有一个红点。我已经可以进行绘图了,但是红点一直被绘制了好几次。这是我的代码:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
X = np.linspace(0, 2*np.pi, 200)
Y = np.sin(X)
fig, ax = plt.subplots(1,1)
ax.set_xlim([0, 6*np.pi])
ax.set_ylim([-1.1, 1.1])
sinegraph, = ax.plot([], [])
def sine(i):
sinegraph.set_data(X[:i],Y[:i])
ax.plot(X[i], Y[i], 'o', color='red')
anim = animation.FuncAnimation(fig, sine, frames=400, interval=50)
plt.show()
Run Code Online (Sandbox Code Playgroud)
基本上我需要每一帧都擦除并重新绘制红点。
就像更新线条一样,您可以使用set_data()先前定义的线条图的方法来更新红点。
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
X = np.linspace(0, 2*np.pi, 100)
Y = np.sin(X)
fig, ax = plt.subplots(1,1)
ax.set_xlim([0, 2*np.pi])
ax.set_ylim([-1.1, 1.1])
sinegraph, = ax.plot([], [])
dot, = ax.plot([], [], 'o', color='red')
def sine(i):
sinegraph.set_data(X[:i],Y[:i])
dot.set_data(X[i],Y[i])
anim = animation.FuncAnimation(fig, sine, frames=len(X), interval=50)
plt.show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3985 次 |
| 最近记录: |