pythond大屏可视化
今天我就来给大家介绍一款非常便利的可视化工具–big_screen,直接传入数据即可,有了它,小白也能做数据大屏。
相比与Plotly、Matplotlib、Pyecharts等可视化库,或者一些商用软件Tableau、FineBI等等,这款工具的优点在于操作更加简单、展现效果也很强大
下面给大家详细介绍一下使用方法
1.安装
该工具是基于flask实现的,所以需要安装flask,直接在命令行输入以下命令即可:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple flask
一般都能正常安装
2.运行代码
这里所说的代码是工具自带的,后面会详细介绍
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-odHG5wHU-1666073879235)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ab28ca99e1ee47a99bfe011a9f237302~tplv-k3u1fbpfcp-zoom-1.image)]
在命令行用cd切换至代码所在的目录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HVvG5dz4-1666073879244)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/5232df9d1085468b8b4446c11ca54f88~tplv-k3u1fbpfcp-zoom-1.image)]
输入以下命令运行代码:
python app.py
3.打开可视化屏
大数据可视化展板通用模板 http://127.0.0.1:5000/
4600 万企业数据大屏可视化 http://127.0.0.1:5000/corp
(2022-10) 厦门 10 万招聘数据大屏可视化 http://127.0.0.1:5000/job
上面的模板都是工具自带的模板,直接用浏览器打开地址就可显示
以通用模板为例,在浏览器网址栏输入:http://127.0.0.1:5000/
是不是超级简单
但仅仅是这样肯定是不够的,我们想要的是制作自己所需的可视化大屏,要导入自己的数据
不用怕,下面我来教大家如何修改数据
app.py是工具的主程序,内容如下:
from flask import Flask, render_template
from data import SourceData
from data_corp import CorpData
from data_job import JobData
app = Flask(__name__)
@app.route('/')
def index():
data = SourceData()
return render_template('index.html', form=data, title=data.title)
@app.route('/corp')
def corp():
data = CorpData()
return render_template('index.html', form=data, title=data.title)
@app.route('/job')
def job():
data = JobData()
return render_template('index.html', form=data, title=data.title)
if __name__ == "__main__":
app.run(host='127.0.0.1', debug=False)
app.run表示监听’127.0.0.1’地址
接着,index、corp、job三个函数都是相同的套路,用render_template模块对’index.html’可视化模板进行渲染,这个模板也是工具自带的,在templates文件夹下:
通过导入不同的数据,可以对模板进行不同的渲染,big_screen提供3种数据模板,分别是SourceData、CorpData和Jobdata
①通用数据模板–SourceData
`class SourceDataDemo:
def __init__(self):
self.title = '大数据可视化展板通用模板'
self.counter = {'name': '2018年总收入情况', 'value': 12581189}
self.counter2 = {'name': '2018年总支出情况', 'value': 3912410}
self.echart1_data = {
'title': '行业分布',
'data': [
{"name": "商超门店", "value": 47},
{"name": "教育培训", "value": 52},
{"name": "房地产", "value": 90},
{"name": "生活服务", "value": 84},
{"name": "汽车销售", "value": 99},
{"name": "旅游酒店", "value": 37},
{"name": "五金建材", "value": 2},
]
}
②全国企业大数据模板–CorpData‘
` from data import SourceDataDemo
class CorpData(SourceDataDemo):
def __init__(self):
super().__init__()
self.title = '全国企业大数据'
self.counter = {'name': '企业总数量(全国)', 'value': 46897675}
self.counter2 = {'name': '企业总数量(一线城市)', 'value': 6805564}
self.echart1_data = {
'title': '行业分布',
'data': [
{
"name": "批发零售业",
"value": 16881396
},
{
"name": "制造行业",
"value": 6780200
}, `
③厦门招聘大数据–Jobdata
`from data import SourceDataDemo
class JobData(SourceDataDemo):
def __init__(self):
super().__init__()
self.title = '厦门招聘大数据'
self.counter = {'name': '招聘人数', 'value': 270665}
self.counter2 = {'name': '招聘企业数', 'value': 11059}
self.echart1_data = {
'title': '最缺人的行业',
'data': [
{"name": "IT互联网", "value": 40215},
{"name": "电子技术", "value": 17112},
{"name": "建筑与工程", "value": 17022},
{"name": "贸易进出口", "value": 16863},
{"name": "机械重工", "value": 15705},
{"name": "教育培训", "value": 11718},
]
}`
总的来说,big_screen使用很方便,但也有一定的局限性,不过急需的时候应个急也是没问题的。