python画折线图,实现折线图实时更新,数据限制在100条,超过100条,覆盖最早一条,加入最新的一条,x轴和y轴同步都更新,且y轴最大值和最小值设置未2和5,每个间隔1
时间: 2024-02-04 10:04:16 浏览: 92
下面是一个基于 `matplotlib` 库的 Python 实时更新折线图的示例代码,其中数据限制在100条,超过100条时会覆盖最早的一条数据,同时加入最新的一条数据,x轴和y轴同步都更新,且y轴最大值和最小值设置未2和5,每个间隔1。
```python
import matplotlib.pyplot as plt
from collections import deque
import random
# 初始化数据和图形
data = deque([0]*100, maxlen=100)
fig, ax = plt.subplots()
line, = ax.plot(data)
# 设置坐标轴范围和标签
ax.set_ylim(2, 5)
ax.set_xlim(0, 100)
ax.set_xticks(range(0, 101, 10))
ax.set_yticks([2, 3, 4, 5])
ax.set_xlabel('Time')
ax.set_ylabel('Value')
# 实时更新折线图
while True:
# 生成新的数据
new_data = random.uniform(2, 5)
data.append(new_data)
# 更新折线图
line.set_ydata(data)
ax.set_xlim(len(data)-100, len(data))
plt.draw()
plt.pause(0.1)
```
其中,`ax.set_xticks(range(0, 101, 10))` 和 `ax.set_yticks([2, 3, 4, 5])` 方法用于设置坐标轴的刻度。`ax.set_xlim(len(data)-100, len(data))` 方法用于保持 x 轴的长度为 100,同时每次更新后将 x 轴的范围设为最新的 100 个数据。
阅读全文