尝试用jupyter notebook 制作两个相关数据的动态图代码
时间: 2023-08-21 16:07:45 浏览: 40
好的,以下是一个简单的例子,展示如何使用Jupyter Notebook制作动态图。
首先,我们需要导入必要的库:
```python
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
```
接着,我们生成两个相关的数据集:
```python
# 生成两个相关的数据集
np.random.seed(123)
x = np.linspace(0, 10, 100)
y1 = 2 * x + np.random.normal(size=100)
y2 = 3 * x + np.random.normal(size=100)
```
然后,我们创建一个空的画布,并定义两个子图:
```python
# 创建画布和子图
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 5))
```
接下来,我们定义一个更新函数 `update`,该函数将在每一帧中被调用,用于更新数据和绘制图形:
```python
def update(frame):
# 更新数据
y1_new = y1 + np.random.normal(size=100)
y2_new = y2 + np.random.normal(size=100)
# 清空子图
ax1.clear()
ax2.clear()
# 绘制新的数据
ax1.scatter(x, y1_new)
ax1.set_title('Data 1')
ax1.set_xlabel('X')
ax1.set_ylabel('Y')
ax2.scatter(x, y2_new)
ax2.set_title('Data 2')
ax2.set_xlabel('X')
ax2.set_ylabel('Y')
```
最后,我们使用 `FuncAnimation` 函数创建动画:
```python
# 创建动画
ani = FuncAnimation(fig, update, frames=np.arange(100), interval=100)
# 显示动画
plt.show()
```
这个例子中,我们使用了 `FuncAnimation` 函数创建了一个动画,其中 `update` 函数会在每一帧中被调用,更新数据和绘制图形。动画会不断循环播放,直到关闭画布为止。
你可以根据自己的需求修改代码,制作出更加复杂的动态图。