今天给大家介绍一个开源数据大屏可视化工具。
项目简介
这是一个基于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": {
"title": "行业分布",
"data": [{
"name": "批发零售业",
"value": 16881396
},
......
报表示例
通用模板大数据
全国企业大数据
招聘大数据
GitHub: https://github.com/TurboWay/big\_screen
- End -
专注分享编程知识、热门有用有趣的开源项目