一个基于Python数据大屏可视化开源项目

一个基于Python数据大屏可视化开源项目

今天给大家介绍一个开源数据大屏可视化工具。

项目简介

这是一个基于Python开发的,结构简单的项目。可通过配置Json的数据,实现数据报表大屏显示。

优点:代码清晰、结构简单、配置Json数据实现

缺点:模板固定需要个性化的,需要修改代码。

技术架构

1、Python + Js + Css + Html开发。

2、报表采用echart插件。

项目结构

使用

安装依赖

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple flask

运行

cd big_screen;
python app.py;

新增/编辑报表

在app.py修改SourceData,或者新增比如新增:MyReportData

@app.route('/')
def index():
    data = SourceData()
    return render_template('index.html', form=data, title=data.title)

新增报表,配置路由

@app.route('/my')
def index():
    data = MyReportData()
    return render_template('index.html', form=data, title=data.title)

报表与Json对应

在data.py配置对应报表对应Json的字段

class MyReportData(SourceDataDemo):
    def __init__(self):
        按照 SourceDataDemo 的格式覆盖数据即可
        super().__init__()
        with open('corp.json', 'r', encoding='utf-8') as f:
            data = json.loads(f.read())
        self.title = data.get('title')
        self.counter = data.get('counter')
        self.counter2 = data.get('counter2')
        self.echart1_data = data.get('echart1_data')
        self.echart2_data = data.get('echart2_data')
        self.echarts3_1_data = data.get('echarts3_1_data')
        self.echarts3_2_data = data.get('echarts3_2_data')
        self.echarts3_3_data = data.get('echarts3_3_data')
        self.echart4_data = data.get('echart4_data')
        self.echart5_data = data.get('echart5_data')
        self.echart6_data = data.get('echart6_data')
        self.map_1_data = data.get('map_1_data')

配置Json数据

{
  //报表名称与数据
  "title": "我的报表大数据",
  "counter": {
    "name": "企业总数量(全国)",
    "value": 46897675
  "counter2": {
    "name": "企业总数量(一线城市)",
    "value": 6805564
  //对应报表字段名称
  "echart1_data": {