招聘大数据可视化

第1关:招聘大数据可视化------使用条形图展示企业招聘员

models.py

复制代码
from app import db
class zhaopin(db.Model):
    # ************ Begin *************#
    __tablename__ = "companynum"
    sumnum = db.Column(db.String(255), primary_key=True)  ##招聘人数 主键
    company = db.Column(db.String(255))  ##企业名称
    # ************** End *************#

views.py

复制代码
from flask import render_template
from app.views import index
from app import db
from app.model.models import zhaopin
@index.route("/nums")
def index1():
    # ************ Begin ***********#
    selectdata = db.session.query(zhaopin.company).all()
    selectdata1 = db.session.query(zhaopin.sumnum).all()
    list1=[]
    list2=[]
    for i in selectdata:
        data={
            'company':i.company
        }
        list1.append(data)
    for j in selectdata1:
        list2.append(j[0])
    #*********** End ************#
    return render_template("test03.html",company=list1,sumnum=list2)

test03.html

复制代码
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>企业招聘员工数据可视化</title>
        <script type="text/javascript" src="../static/js/echarts-all-3.js" ></script>
    </head>
    <body>
        <!--准备一个DOM容器-->
        <div id="main" style="width: 1200px;height: 600px;"></div>
        <script>
        var echarts1=echarts.init(document.getElementById("main"))
        //#********** Begin **********#
        var companys=[]
        {% for a in company %}
            companys.push('{{ a.company }}');
        {% endfor %}
        var sumnum={{sumnum|tojson}};
    option = {
  title: {
    text: '企业招聘员工数据展示图'
  },
  tooltip: {
    trigger: 'axis',
    axisPointer: {
      type: 'shadow'
    }
  },
  legend: {
      left:'right',
      data:['招聘人数']
  },
  grid: {
    left: '3%',
    right: '4%',
    bottom: '3%',
    containLabel: true
  },
  xAxis: {
    type: 'value',
    boundaryGap: [0, 0.01]
  },
  yAxis: {
    type: 'category',
    data: companys
  },
  series: [
    {
      name: '招聘人数',
      type: 'bar',
      data: sumnum,
      itemStyle: {
            normal: {
                color: function(params) {
                    var colorList = ['#CE0000','#FF0080', '#E800E8', '#0000C6', '#00FFFF','#02F78E', '#548C00','#AE8F00','#FF8000','#AD5A5A'];
                    return colorList[params.dataIndex]
                },
                label: {
                    show: true,  //开启显示
                    position: 'right',  //在上方显示
                    textStyle: {  //数值样式
                        color: 'black',
                        fontSize: 16
                    }
                }
            }
        }
    }
  ]
};
        //#*********** End ************#
            echarts1.setOption(option)
        </script>
    </body>
</html>
相关推荐
跨境卫士-小汪6 小时前
TikTokShop欧洲商品接口架构调整跨境技术团队需要做好哪些准备
大数据·人工智能·新媒体运营·跨境电商·跨境·营销策略
古法老登瞎折腾6 小时前
大数据智能运维实战(十一):运维 MCP 的工程化——权限、限流、审计与错误处理
java·大数据·运维·spring ai·mcp
飞Link6 小时前
什么是 AirSim?一文读懂无人机仿真平台
python·算法·无人机
曲径海盗7 小时前
【Python 学习第 38 天】for 循环
python·学习笔记·编程入门
在世修行7 小时前
智学文枢:变式题生成引擎
python·ai·pyside·题目生成
2601_967212728 小时前
智能电源轨道技术原理、认证核查与场景适配说明
大数据·经验分享·安全
KKKlucifer8 小时前
运营商非结构化文档安全管控体系建设实践
大数据·网络·安全
On The Road :9 小时前
Java 多线程详解:从入门到线程安全
java·python·安全
软件派9 小时前
MiniMax M3.1 Flash 高频业务落地实战指南
大数据·数据库·人工智能
麦豆GEO9 小时前
ToB企业GEO落地实战指南
大数据·人工智能