from matplotlib import pyplot as plt
from matplotlib.animation import FuncAnimation
import random
import numpy as np
x = []
y = []
colors = []
fig = plt.figure(figsize=(7,5))
def animation_func(i):
x.append(random.randint(0,100))
y.append(random.randint(0,100))
colors.append(np.random.rand(1))
area = random.randint(0,30) * random.randint(0,30)
plt.xlim(0,100)
plt.ylim(0,100)
plt.scatter(x, y, c = colors, s = area, alpha = 0.5)
animation = FuncAnimation(fig, animation_func,
interval = 100)
plt.show()
-
导入需要的库:
from matplotlib import pyplot as plt
:导入绘图库 Matplotlib 中的 pyplot 模块。from matplotlib.animation import FuncAnimation
:导入 Matplotlib 中的动画模块中的 FuncAnimation 类。import random
:导入 Python 内置的随机数生成模块。import numpy as np
:导入用于处理数组和矩阵运算的库 NumPy。
-
初始化变量:
x
、y
、colors
:分别用于存储散点图的 x 坐标、y 坐标和颜色。fig
:创建一个新的绘图窗口(Figure 对象)。
-
定义动画函数
animation_func
:- 在每次调用时,向
x
和y
列表中追加一个随机生成的坐标值。 - 向
colors
列表中添加一个随机生成的颜色值。 - 生成一个随机的点面积,并使用
plt.scatter()
绘制散点图。
- 在每次调用时,向
-
创建动画对象
animation
:- 使用
FuncAnimation
类创建一个动画,传入fig
和animation_func
函数作为参数,设置更新间隔为 100 毫秒。
- 使用
-
显示动画:
- 调用
plt.show()
显示动画窗口并开始播放动画。
- 调用