python用matplotlib绘制圆移动的动画
时间: 2023-11-20 20:04:54 浏览: 113
以下是使用matplotlib绘制圆移动的动画的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
fig, ax = plt.subplots()
# 初始位置
x0, y0 = 0, 0
# 圆的半径
r = 0.5
# 圆的颜色
color = 'b'
# 绘制圆
circle = plt.Circle((x0, y0), r, color=color, animated=True)
ax.add_artist(circle)
# 移动圆的函数
def move_circle(t):
# 计算新位置
x = x0 + r * np.cos(t)
y = y0 + r * np.sin(t)
# 更新圆的位置
circle.center = (x, y)
return circle,
# 创建动画对象
animation = FuncAnimation(fig, move_circle, frames=np.linspace(0, 2*np.pi, 100),
interval=50, blit=True)
plt.axis('equal')
plt.show()
```
在这个例子中,我们首先创建了一个圆,并将其添加到图形中。然后,我们定义了一个`move_circle`函数,该函数接受一个时间参数`t`,根据时间计算圆的新位置,并将圆的位置更新为新位置。最后,我们使用`FuncAnimation`创建了一个动画对象,该对象将在每个时间间隔调用`move_circle`函数,并将更新的圆返回。我们还使用`plt.axis('equal')`确保图形的纵横比相等。最后,我们使用`plt.show()`显示动画。
阅读全文