matplotlib绘制有多个散点子图的动图
时间: 2023-10-20 13:14:11 浏览: 96
使用matplotlib画散点图的方法
要绘制多个散点子图的动图,可以使用matplotlib的Animation模块。以下是一个示例代码,它创建了一个包含3个散点子图的动图:
```python
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
# 生成数据
np.random.seed(123)
x = np.linspace(0, 5, 50)
y1 = np.random.randn(50)
y2 = np.random.randn(50)
y3 = np.random.randn(50)
# 创建3个子图
fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(10, 4))
# 定义动画函数
def update(frame):
ax1.clear()
ax2.clear()
ax3.clear()
ax1.scatter(x[:frame], y1[:frame])
ax2.scatter(x[:frame], y2[:frame])
ax3.scatter(x[:frame], y3[:frame])
# 创建动画
ani = FuncAnimation(fig, update, frames=len(x), interval=100)
# 展示动画
plt.show()
```
在这个示例代码中,我们首先生成了三组随机数据,然后创建了包含3个散点子图的画布。接着,我们定义了一个动画函数`update`,它会在每个动画帧中更新三个子图的内容。最后,我们使用`FuncAnimation`创建了动画,并展示了它。
值得注意的是,我们在动画函数中使用了`ax.clear()`来清空每个子图的内容,以便在每个动画帧中重新绘制数据。
阅读全文