前端学习7续

通过上一节Echarts图的学习,为此做了一个简单的案例来巩固一下前端学习的知识。

最终要完成成果展示

具体代码以及注释详解我已经打包

由于文章限制,无法上传压缩包,放一部分具体代码,当然如果有需要压缩包可以DM,同时有问题可以评论或者DM都可以,无偿~ 仅仅作为交流学习

.html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/echarts.min.js"></script>
    <script src="js/china.js"></script>
    <script src="js/index.js" defer></script>
    <link rel="stylesheet" href="css/index.css">
</head>

<body>

    <h1>软件工程岗位招聘信息</h1>
    <div class="main">
        <div class="left">
            <div class="l1"></div>
            <div class="l2"></div>
        </div>
        <div class="middle">
            <ul class="top">
                <li>
                    <h2>4234</h2>
                    <h3>岗位数量</h3>
                </li>
                <li>
                    <h2>上海</h2>
                    <h3>岗位最多的城市</h3>
                </li>
                <li>
                    <h2>广州</h2>
                    <h3>薪资最高的城市</h3>
                </li>
                <li>
                    <h2>字节跳动</h2>
                    <h3>岗位最多的公司</h3>
                </li>
            </ul>
            <div class="bottom"></div>
        </div>
        <div class="right">
            <div class="r1"></div>
            <div class="r2"></div>
        </div>
    </div>
</body>

</html>

.js

 (function() {
     //左一
     // 基于准备好的dom,初始化echarts实例
     var myChart = echarts.init(document.querySelector('.l1'));
     // 指定图表的配置项和数据
     option = {
         // 标题
         title: {
             text: '工作经验要求',
             textStyle: {
                 color: "#fff",
             },
         },
         // 提示框组件。
         tooltip: {
             trigger: 'axis',
             axisPointer: {
                 type: 'shadow'
             }
         },
         //x轴相关设置
         xAxis: {
             type: 'category',
             data: ['经验不限', '1-3年', '3-5年', '5-10年', '10年以上'],
             axisLabel: {
                 color: "rgb(185,184,206)"
             }
         },
         //  y轴相关设置
         yAxis: {
             type: 'value',
             axisLabel: {
                 color: "rgb(185,184,206)"
             },
             //修改背景线条样式
             splitLine: {
                 show: true,
                 lineStyle: {
                     color: "rgb(72,71,83)"
                 }
             }
         },
         series: [{
             data: [358, 426, 876, 523, 70],
             type: 'bar',
             //柱子宽度
             barWidth: '50%'
         }],
         //颜色
         color: ['rgb(51,152,219)'],
         //网格配置
         grid: {
             //配合left right top bottom 设置图表的大小
             left: '3%',
             right: '8%',
             bottom: '5%',
             //网格区域是否包含坐标轴的刻度标签 true:包含 false:不包含
             containLabel: true
         },
     };
     // 使用刚指定的配置项和数据显示图表。
     myChart.setOption(option);
     //绑定事件  当浏览器窗口发生改变时运行
     window.addEventListener("resize", function() {
         myChart.resize()
     })

 })();


 (function() {
     //左二
     // 基于准备好的dom,初始化echarts实例
     var myChart = echarts.init(document.querySelector('.l2'));
     // 指定图表的配置项和数据
     option = {
         // 标题
         title: {
             text: '学历要求',
             textStyle: {
                 color: "#fff",
             },
         },
         tooltip: {
             trigger: 'item'
         },
         legend: {
             top: '5%',
             left: 'center'
         },
         series: [{
             name: 'Access From',
             type: 'pie',
             radius: ['40%', '70%'],
             avoidLabelOverlap: false,
             label: {
                 show: false,
                 position: 'center'
             },
             emphasis: {
                 label: {
                     show: true,
                     fontSize: 40,
                     fontWeight: 'bold'
                 }
             },
             labelLine: {
                 show: false
             },
             data: [
                 { value: 1048, name: '本科' },
                 { value: 735, name: '硕士' },
                 { value: 580, name: '博士' },
                 { value: 484, name: '专科及以下' },
             ]
         }],
         //颜色
         color: ['rgb(73,146,255)', 'rgb(136,255,195)', 'rgb(253,221,96)', 'rgb(255,110,118)'],
         legend: {
             top: '5%',
             textStyle: {
                 color: 'rgb(172,171,194)'
             }
         }
     };
     // 使用刚指定的配置项和数据显示图表。
     myChart.setOption(option);

     window.addEventListener("resize", function() {
         myChart.resize()
     })

 })();


 (function() {
     //右一
     // 基于准备好的dom,初始化echarts实例
     var myChart = echarts.init(document.querySelector('.r1'));
     // 指定图表的配置项和数据
     option = {
         // 标题
         title: {
             text: '平均薪资最多的前五名城市',
             textStyle: {
                 color: "#fff",
             },
         },
         xAxis: {
             type: 'category',
             data: ['上海', '北京', '深圳', '广州', '杭州'],
             axisLabel: {
                 color: "rgb(175,174,197)"
             }
         },
         yAxis: {
             type: 'value',
             //修改坐标轴
             axisLabel: {
                 color: "rgb(175,174,197)"
             },
             //修改背景线条样式
             splitLine: {
                 show: true,
                 lineStyle: {
                     color: "rgb(72,71,83)"
                 }
             }
         },
         //网格配置
         grid: {
             //配合left right top bottom 设置图表的大小
             left: '3%',
             right: '8%',
             bottom: '5%',
             //网格区域是否包含坐标轴的刻度标签 true:包含 false:不包含
             containLabel: true
         },
         // 提示框组件。
         tooltip: {
             trigger: 'axis',
             axisPointer: {
                 type: 'shadow'
             }
         },
         series: [{
             data: [33468, 27907, 31490, 48702, 31943],
             type: 'line',
             areaStyle: {
                 color: {
                     type: 'linear',
                     x: 0,
                     y: 0,
                     x2: 0,
                     y2: 1,
                     colorStops: [{
                         offset: 0,
                         color: 'blue' // 0% 处的颜色
                     }, {
                         offset: 1,
                         color: 'transparent' // 100% 处的颜色
                     }],
                     global: false // 缺省为 false
                 }
             }
         }]
     };
     // 使用刚指定的配置项和数据显示图表。
     myChart.setOption(option);

     window.addEventListener("resize", function() {
         myChart.resize()
     })

 })();


 (function() {
     //右二
     // 基于准备好的dom,初始化echarts实例
     var myChart = echarts.init(document.querySelector('.r2'));
     // 指定图表的配置项和数据
     option = {
         // 标题
         title: {
             text: '2024最近半年岗位需求变化',
             textStyle: {
                 color: "#fff",
             },
         },
         xAxis: {
             type: 'category',
             data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月'],
             axisLabel: {
                 color: "rgb(175,174,197)"
             }
         },
         yAxis: {
             type: 'value',
             //修改坐标轴
             axisLabel: {
                 color: "rgb(175,174,197)"
             },
             //修改背景线条样式
             splitLine: {
                 show: true,
                 lineStyle: {
                     color: "rgb(72,71,83)"
                 }
             },
             //是否显示坐标轴轴线
             axisLine: {
                 show: true
             }
         },
         series: [{
             data: [820, 232, 901, 934, 1290, 1330, 720],
             type: 'line',
             smooth: true
         }],
         //网格配置
         grid: {
             //配合left right top bottom 设置图表的大小
             left: '3%',
             right: '8%',
             bottom: '5%',
             //网格区域是否包含坐标轴的刻度标签 true:包含 false:不包含
             containLabel: true
         },
         // 提示框组件。
         tooltip: {
             trigger: 'axis',
             axisPointer: {
                 type: 'shadow'
             }
         },
     };
     // 使用刚指定的配置项和数据显示图表。
     myChart.setOption(option);

     window.addEventListener("resize", function() {
         myChart.resize()
     })

 })();   //立即执行函数(匿名函数)
 (function() {
     //地图
     // 基于准备好的dom,初始化echarts实例
     var myChart = echarts.init(document.querySelector('.bottom'));
     // 指定图表的配置项和数据


     // 指定图表的配置项和数据
     option = {
         //标题样式
         title: {
             text: "全国岗位分布图",
             textStyle: {
                 color: 'rgb(255,215,0)',
             },
             left: 'center',
             top: '18%'

         },
         tooltip: {
             trigger: 'item'
         },

         visualMap: { // 左侧小导航图标
             show: true,
             x: 'left',
             y: 'bottom',
             textStyle: {
                 fontSize: 9,
                 color: 'rgb(185,184,206)'
             },
             splitList: [{
                     start: 1,
                     end: 9
                 },
                 {
                     start: 10,
                     end: 99
                 },
                 {
                     start: 100,
                     end: 999
                 },
                 {
                     start: 1000,
                     end: 9999
                 },
                 {
                     start: 10000,
                 },

             ],
             color: ['#334271', '#4d619d', '#6e8adf', '#94d7f1', '#cdeaf6']
         },
         series: [{
             name: '岗位人数',
             type: 'map',
             mapType: 'china',
             roam: true, // 禁用拖动和缩放
             itemStyle: { // 图形样式
                 normal: {
                     borderWidth: .5, //区域边框宽度
                     borderColor: '#009fe8', //区域边框颜色
                    //  areaColor: "#ffefd5", //区域颜色
                 },
                 emphasis: { // 鼠标滑过地图高亮的相关设置
                     borderWidth: .5,
                     borderColor: '#4b0082',
                    //  areaColor: "#fff",
                 }
             },
             label: { // 图形上的文本标签
                 normal: {
                     show: true, //省份名称
                     fontSize: 8,
                 },
                 emphasis: { // 鼠标滑过地图高亮的相关设置
                     show: true,
                     fontSize: 12,
                 }
             },
             data: [
                 { 'name': '湖北', 'value': 628 },
                 { 'name': '香港', 'value': 418 },
                 { 'name': '台湾', 'value': 596 },
                 { 'name': '上海', 'value': 13814 },
                 { 'name': '北京', 'value': 14218 },
                 { 'name': '广东', 'value': 3150 },
                 { 'name': '福建', 'value': 3180 },
                 { 'name': '内蒙古', 'value': 318 },
                 { 'name': '天津', 'value': 3311 },
                 { 'name': '澳门', 'value': 2117 },
                 { 'name': '浙江', 'value': 2418 },
                 { 'name': '江苏', 'value': 4818 },
                 { 'name': '四川', 'value': 916 },
                 { 'name': '山东', 'value': 1316 },
                 { 'name': '辽宁', 'value': 2481 },
                 { 'name': '云南', 'value': 318 },
                 { 'name': '河北', 'value': 1568 },
                 { 'name': '黑龙江', 'value': 204 },
                 { 'name': '陕西', 'value': 534 },
                 { 'name': '甘肃', 'value': 324 },
                 { 'name': '吉林', 'value': 418 },
                 { 'name': '山西', 'value': 455 },
                 { 'name': '重庆', 'value': 897 },
                 { 'name': '河南', 'value': 594 },
                 { 'name': '湖南', 'value': 1337 },
                 { 'name': '江西', 'value': 1318 },
                 { 'name': '贵州', 'value': 456 },
                 { 'name': '广西', 'value': 518 },
                 { 'name': '安徽', 'value': 1208 },
                 { 'name': '海南', 'value': 480 },
                 { 'name': '宁夏', 'value': 875 },
                 { 'name': '新疆', 'value': 50 },
                 { 'name': '西藏', 'value': 7 },
                 { 'name': '青海', 'value': 8 },
             ]
         }]
     };

     // 使用刚指定的配置项和数据显示图表。
     myChart.setOption(option);
     window.addEventListener("resize", function() {
         myChart.resize()
     })

 })()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值