实时动态扫描数据流
程序员文章站
2022-03-21 16:28:48
...
import datetime
import numpy as np
from matplotlib import pyplot as plt
import matplotlib.dates as mdates
plt.rcParams["font.sans-serif"]=['SimHei']
hour = 10
step = 60
second = int(float(hour)*60*60)
now = datetime.datetime.now()
MeanValue, SumValue, MeanIndex = 0, 0, 0
delta = datetime.timedelta(seconds=60)
xmin = now - delta
ymax = 0
plt.ion()
plt.figure(1)
ax = plt.subplot(111)
Meanline = []
for i in range(0, second, step):
m = (1500 - 100 + 200 * np.random.random())/380
if ymax < m:
ymax = m
now += delta
SumValue += m
xmax = now
MeanValue = SumValue/(MeanIndex + 1)
MeanIndex += 1
if i == 0:
x = [now - delta, now]
y = [m-1, m]
plt.plot(x, y, "-")
else:
x.pop(0)
x.append(now)
y.pop(0)
y.append(m)
plt.plot(x, y, "-")
if (xmax - xmin) > datetime.timedelta(hours=1):
xmin = xmax - datetime.timedelta(hours=1)
plt.xlim(xmin, xmax)
plt.ylim(0, 1.5*ymax)
ax1 = plt.axhline(y=MeanValue, color="b", linewidth=1, linestyle="--")
Meanline.append(ax1)
if i > 1:
Meanline[0].remove()
Meanline.pop(0)
plt.xticks(rotation=50)
ax.xaxis.set_major_formatter(mdates.DateFormatter("%m-%d %H:%M:%S"))
plt.pause(1)
推荐阅读
-
JS根据浏览器窗口大小实时动态改变网页文字大小的方法_javascript技巧
-
支付宝上线"新型肺炎疫情实时动态" 可实时查看全国疫情动态
-
使用ajax技术无刷新动态调用新浪股票实时数据
-
web端百度地图API实现实时轨迹动态展现
-
支付宝上线"新型肺炎疫情实时动态" 可实时查看全国疫情动态
-
IDEA强悍了调试器竟然支持实时数据流分析啦提前知道代码怎么跑?
-
使用apachetop实时监控日志、动态分析服务器运行状态
-
基于Flink流处理的动态实时亿级用户全端数据统计分析系统(支持所有的终端统计) flink
-
基于Flink流处理的动态实时亿级用户全端数据统计分析系统(支持所有的终端统计) flink
-
EasyNVR RTSP转HLS(m3u8+ts)流媒体服务器前端构建之:bootstrap-datepicker日历插件的实时动态展现