使用ion()函数实现动态绘图和数据实时展示的步骤
发布时间:2023-12-24 15:13:50
ion()函数是matplotlib库中的一个函数,它用于开启交互式绘图模式,即打开一个交互式窗口,使得绘图效果可以实时更新。ion()函数的使用步骤如下:
1. 导入所需的库:
import matplotlib.pyplot as plt
2. 在绘图之前调用ion()函数:
plt.ion()
3. 创建一个空的图像对象:
fig, ax = plt.subplots()
4. 在数据更新过程中,通过plot()函数绘制数据:
line, = ax.plot(x, y)
5. 在数据更新后通过set_ydata()函数更新曲线:
line.set_ydata(new_y)
6. 调用plt.pause()函数来实现动态绘图效果:
plt.pause(0.1)
下面是一个使用ion()函数实现动态绘图和数据实时展示的例子:
import matplotlib.pyplot as plt
import numpy as np
# 开启交互式绘图模式
plt.ion()
# 创建一个空的图像对象
fig, ax = plt.subplots()
# 初始化数据
x = np.linspace(0, 10, 100) # x轴数据
y = np.sin(x) # y轴数据
# 绘制初始曲线
line, = ax.plot(x, y)
# 循环更新数据和绘图
for i in range(100):
# 更新数据
new_y = np.sin(x + i/10)
# 更新曲线
line.set_ydata(new_y)
# 更新坐标轴范围
ax.set_xlim(min(x), max(x))
ax.set_ylim(min(new_y), max(new_y))
# 实现动态绘图效果
plt.pause(0.1)
# 关闭交互式绘图模式
plt.ioff()
# 显示图像
plt.show()
在上述例子中,我们首先导入matplotlib库,并调用ion()函数开启交互式绘图模式。然后,创建一个空的图像对象,并使用plot()函数绘制初始曲线。之后,通过循环更新数据和绘图:
- 首先,更新y轴数据为sin(x + i/10),即不断改变曲线的形状。
- 然后,使用set_ydata()函数更新曲线,以及set_xlim()和set_ylim()函数更新坐标轴的范围。
- 最后,调用plt.pause()函数来实现动态绘图效果。
最后,关闭交互式绘图模式,并调用plt.show()函数来显示图像。
通过使用ion()函数和plt.pause()函数,我们可以实现动态绘图和数据实时展示的效果,能够更直观地观察到数据的变化。
