基于 Echarts + Python 动态实时大屏真棒
Posted 我爱Python数据挖掘
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于 Echarts + Python 动态实时大屏真棒相关的知识,希望对你有一定的参考价值。
大家好,今天给大家分享,基于 Echarts + Python 动态实时大屏。包括四个方面的内容:
- 效果图展示
- 确定需求方案
- 整体架构设计
- 关键代码
- 运行效果
效果图展示
1.动态实时更新数据效果图
说明: 其中 今日抓拍,抓拍总数,预警信息统计,监控点位统计图表 做了动态实时更新处理。
2.静态切片效果图
注意点
一、确定需求方案
1、确定产品上线部署的屏幕LED分辨率
本案例基于16:9 屏宽比,F11全屏显示。
2、部署方式
基于免安装可执行程序:支持Windows、Linux、Mac等各种操作系统;将程序复制到服务器上即可,无需其它环境依赖;
观看方式:既可在服务器上直接观看程序界面,也可在远程用浏览器打开播放,例如Chrome浏览器、360浏览器等。
二、整体架构设计
- 前端基于Echarts开源库设计;
- 后端基于Python Flask实现,使用 Vscode 编辑器;
- 数据传输格式:JSON;
- 数据源类型:目前采用JSON文件方式,可自行添加支持PostgreSQL、mysql、Oracle、Microsoft SQL Server、SQLite,自行添加pandas支持Excel表格等,还可以定制HTTP API接口方式。
- 数据更新方式:采用http get 轮询方式 。在实际应用中,也可以视情况选择j监测后端数据实时更新,实时推送到前端的方式;
三、编码实现 (关键代码)
后端 Python Flask 代码
import io
import os
import sys
import time
import urllib
import random
import json
from flask import Flask, redirect
import threading
app = Flask(__name__, static_folder="static", template_folder="template")
@app.route('/')
def index():
return redirect('/static/index.html')
@app.route('/get_snap')
def get_snap():
jsonData =
jsonData['today_snap'] = random.randint(1, 100)
jsonData['total_snap'] = random.randint(1, 1000)
return json.dumps(jsonData)
@app.route('/qsjkdw')
def qsjkdw():
jsonData = []
for x in range(9):
jsonData.append("value": str(random.randint(1, 100)))
return json.dumps(jsonData)
@app.route('/get_yjxxtj')
def get_yjxxtj():
jsonData = []
for x in range(6):
jsonData.append(random.randint(1, 100))
return json.dumps(jsonData)
def loop():
time.sleep(10)
pass
if __name__ == "__main__":
a = threading.Thread(target=loop)
a.start()
app.run(host='127.0.0.1', port=80, debug=True)
四、运行效果
以上是关于基于 Echarts + Python 动态实时大屏真棒的主要内容,如果未能解决你的问题,请参考以下文章
32源码数据可视化:基于 Echarts + Python Flask 动态实时大屏 - 监管系统
21数据可视化:基于 Echarts + Python 动态实时大屏范例- Excel数据源
25数据可视化:基于 Echarts + Python Flask框架动态实时大屏范例 - 企业宣传
数据可视化看板:基于 Echarts + Python Flask 动态实时大屏