phthon matplotlib实现曲线始终画最新30S的数据,横轴最大长度30S
时间: 2024-10-16 14:07:46 浏览: 22
在Python中,你可以使用matplotlib库来绘制实时更新的曲线,比如每30秒显示最新的数据点。这里可以结合`matplotlib.animation`模块以及Pandas库来实现。首先,你需要设置一个定时器每隔30秒获取新数据并更新图表。下面是一个简单的示例:
```python
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.animation as animation
# 假设你有一个函数 `fetch_data()` 可以定期获取新的数据
def fetch_data():
# 这里模拟获取数据,真实情况替换为实际数据源
data = pd.DataFrame({
'time': pd.date_range(start='now', periods=1, freq='30S'),
'value': [random_value()] # 替换为从数据库、API或其他来源获取的实际值
})
return data
fig, ax = plt.subplots()
line, = ax.plot([], [], 'r-') # 创建一条空线用于绘图
def animate(i):
new_data = fetch_data() # 获取新数据
line.set_data(new_data['time'], new_data['value']) # 更新数据
ax.relim() # 调整坐标范围以包含新数据
ax.autoscale_view(True, True, True) # 自动调整视口
ani = animation.FuncAnimation(fig, animate, interval=30000) # 每30秒运行一次动画
plt.show()
阅读全文