37【源码】数据可视化:基于 Echarts + Python 动态实时大屏

效果图展示


1.动态效果演示



2.静态切片效果图



一、确定需求方案


1.确定产品上线部署的屏幕LED分辨率


本案例基于16:9 屏宽比,F11全屏显示。


2.部署方式


浏览器打开播放,Chrome浏览器、360浏览器等。


二、整体架构设计



前端基于Echarts开源库设计,使用WebStorm编辑器;

后端基于Python Flask实现,使用 Vscode 或 Pycharm编辑器;

数据传输格式:JSON;

数据源类型:目前采用JSON文件方式,可自行添加支持PostgreSQL、MySQL、Oracle、Microsoft SQL Server、SQLite,自行添加pandas支持Excel表格等,还可以定制HTTP API接口方式。

数据更新方式:采用http get 轮询方式 。在实际应用中,也可以视情况选择j监测后端数据实时更新,实时推送到前端的方式;


三、编码实现 (关键代码)


1.前端html代码



    
    

数据可视化页面设计

Data visualization page design

品牌销售TOP5
  • ××品牌 15862 82%
  • ××品牌 15862 82%
  • ××品牌 15862 82%
  • ××品牌 15862 82%
  • ××品牌 15862 82%
大类销售分析
年销售

5684710411

月销售

1457104

周销售

564710

日销售

14504

销售总额

568971401

89
%

同比

89
%

完成率

89
%

售罄率

89
%

折扣率

会销情况分析
  • 会销目标

    Marketing Target
    ¥4,374,266
  • 会销目标

    Marketing Target
    ¥4,374,266
  • 会销目标

    Marketing Target
    ¥4,374,266
完成情况
会销完成率
会销占比
  • 鞋类 52563
  • 服装 32563
  • 配饰 12563
数据状况

Data Status



2. 前端JS -echarts 折线图



    // 折线图
    function lineChart(ele) {
        var chart = echarts.init(document.querySelector(ele));

        var xdata = [];
        var dataArr = [];
        for (var i = 1; i < 30 i xdata.pushi dataarr.pushmath.floormath.random 20 5 var max='Math.max.apply(null,' dataarr var seriesname option='{' grid: left: 5 right: 2 bottom: 5 top: 15 containlabel: true xaxis: type: category data: xdata axislabel: show: true textstyle: color: fff fontsize: 0.5 w axisline: linestyle: color: transparent width: 2 tooltip: show: true trigger: item yaxis: type: value name: min: 0 max: 25 axislabel: formatter: valuek textstyle: color: fff fontsize: 0.5 w axisline: linestyle: color: transparent width: 2 axistick: show: false splitline: show: false series: name: seriesname type: line stack: symbol: none smooth: false symbol: circle itemstyle: normal: color: 34a39a linestyle: color: 34a39a width: 2 areastyle: color: 94c9ec color: new echarts.graphic.lineargradient0 0 0 1 offset: 0 color: 08808b offset: 1 color: rgba0000.2 data: dataarr var index='0;' var mtime='setInterval(function' chart.dispatchaction type: showtip seriesindex: 0 dataindex: index index if index> xdata.length) {
                index = 0;
            }
        }, 1500);


        chart.setOption(option)
    }
    lineChart('.lineChart')



3. 前端JS - 数据定时更新控制


支持在每个echarts图表中独立控制定时更新的间隔。


    var init = function () {
        updating();
        setInterval(function() {updating()}, 2000);//刷新周期设置
    };



4. 后端 Python Flask 代码



@app.route('/get_percent')
def get_percent():
    jsonData = {}
    jsonData['percent1'] = random.randint(0, 100)
    jsonData['percent2'] = random.randint(0, 100)
    jsonData['percent3'] = random.randint(0, 100)
    jsonData['percent4'] = random.randint(0, 100)
    return json.dumps(jsonData)

def loop():
    time.sleep(10)
    pass

# 主程序在这里
if __name__ == "__main__":
    a = threading.Thread(target=loop)
    a.start()

    # 开启 flask 服务
    app.run(host='127.0.0.1', port=80, debug=True)



四、运行效果




五、更多案例


YYDatav的数据可视化大屏《精彩案例汇总》(Python&Echarts源码)_YYDataV的博客-CSDN博客


【工厂扫码打印&扫码装箱&错误追溯系统】完整案例详解(Python&PyQt 源码&Mysql数据库)_YYDataV数据可视化的博客-CSDN博客_pyqt案例


六、源码下载


37源码数据可视化:基于 Echarts + Python 动态实时大屏 - 销售数据看板.zip

https://download.csdn.net/download/lildkdkdkjf/87701050


欢迎多多交流,微信 6550523。

原文链接:,转发请注明来源!