可视化大屏项目

一、页面展示

 

 二、可视化面板介绍(想要项目源码的课可私信领取)

1.背景:

应对现在数据可视化的趋势,越来越多企业需要在很多场景(营销数据,生产数据,用户数据)下使用,可视化图表来展示体现数据,让数据更加直观,数据特点更加突出。

2.项目技术:div + css 布局   flex 布局   Less   原生js + jquery   rem适配

3.案例适配方案:

     设计稿是1920px  

  (1) flexible.js 把屏幕分为 24 等份

  (2) cssrem 插件的基准值是  80px 

           插件-配置按钮---配置扩展设置--Root Font Size 里面 设置。(重启vscode软件保证生效)

4. 基础代码

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>数据可视化</title>
    <link rel="stylesheet" href="css/index.css" />
  </head>
  <body>
    <!-- 头部的盒子 -->
    <header>
      <h1>数据可视化面板</h1>
      <div class="showTime"></div>
      <script>
        var t = null;
        t = setTimeout(time, 1000); //開始运行
        function time() {
          clearTimeout(t); //清除定时器
          dt = new Date();
          var y = dt.getFullYear();
          var mt = dt.getMonth() + 1;
          var day = dt.getDate();
          var h = dt.getHours(); //获取时
          var m = dt.getMinutes(); //获取分
          var s = dt.getSeconds(); //获取秒
          document.querySelector(".showTime").innerHTML =
            "当前时间:" +
            y +
            "年" +
            mt +
            "月" +
            day +
            "-" +
            h +
            "时" +
            m +
            "分" +
            s +
            "秒";
          t = setTimeout(time, 1000); //设定定时器,循环运行
        }
      </script>
      &
    </header>

    <!-- 页面主体部分 -->
    <section class="mainbox">
      <div class="column">
        <div class="panel bar">
          <h2>就业行业</h2>
          <div class="chart"></div>
          <div class="panel-footer"></div>
        </div>
        <div class="panel line">
          <h2>
            人员变化 <a href="javacript:;">2021</a
            ><a href="javascript:;">2022</a>
          </h2>
          <div class="chart">图表</div>
          <div class="panel-footer"></div>
        </div>
        <div class="panel pie">
          <h2>年龄分布</h2>
          <div class="chart">图表</div>
          <div class="panel-footer"></div>
        </div>
      </div>
      <div class="column">
        <!-- no模块制作 -->
        <div class="no">
          <div class="no-hd">
            <ul>
              <li>125811</li>
              <li>1864004</li>
            </ul>
          </div>
          <div class="no-bd">
            <ul>
              <li>前端需求人数</li>
              <li>市场供应人数</li>
            </ul>
          </div>
        </div>
        <!-- 地图模块 -->
        <div class="map">
          <div class="map1"></div>
          <div class="map2"></div>
          <div class="map3"></div>
          <div class="chart"></div>
        </div>
      </div>
      <div class="column">
        <div class="panel bar2">
          <h2>技术栈</h2>
          <div class="chart">图表</div>
          <div class="panel-footer"></div>
        </div>
        <div class="panel line2">
          <h2>播放量</h2>
          <div class="chart">图表</div>
          <div class="panel-footer"></div>
        </div>
        <div class="panel pie2">
          <h2>地区分布</h2>
          <div class="chart">图表</div>
          <div class="panel-footer"></div>
        </div>
      </div>
    </section>
    <script src="js/flexible.js"></script>
    <script src="js/echarts.min.js"></script>
    <!-- 先引入jquery -->
    <script src="js/jquery.js"></script>
    <!-- 必须先引入china.js 这个文件 因为中国地图需要 -->
    <script src="js/china.js"></script>
    <script src="js/index.js"></script>
  </body>
</html>

5. echarts使用说明:

是一个JS插件,性能好可流畅运行PC与移动设备,兼容主流浏览器。提供很多常用图表,且可**定制**。

[折线图] (https://www.echartsjs.com/zh/option.html#series-line)

[柱状图] (https://www.echartsjs.com/zh/option.html#series-bar)

[散点图](https://www.echartsjs.com/zh/option.html#series-scatter)

[饼图](https://www.echartsjs.com/zh/option.html#series-pie)

[K线图](https://www.echartsjs.com/zh/option.html#series-candlestick)

官网地址:https://www.echartsjs.com/zh/index.html

 <div class="box"></div>
    <script src="js/echarts.min.js"></script>
    <script>
      // 初始化实例对象  echarts.init(dom容器);
      var myChart = echarts.init(document.querySelector(".box"));
      // 指定配置项和数据
      var option = {
        // color设置我们线条的颜色 注意后面是个数组
        color: ["pink", "red", "green", "skyblue"],
        // 设置图表的标题
        title: {
          text: "折线图堆叠123"
        },
        // 图表的提示框组件
        tooltip: {
          // 触发方式
          trigger: "axis"
        },
        // 图例组件
        legend: {
          // series里面有了 name值则 legend里面的data可以删掉
        },
        // 网格配置  grid可以控制线形图 柱状图 图表大小
        grid: {
          left: "3%",
          right: "4%",
          bottom: "3%",
          // 是否显示刻度标签 如果是true 就显示 否则反之
          containLabel: true
        },
        // 工具箱组件  可以另存为图片等功能
        toolbox: {
          feature: {
            saveAsImage: {}
          }
        },
        // 设置x轴的相关配置
        xAxis: {
          type: "category",
          // 是否让我们的线条和坐标轴有缝隙
          boundaryGap: false,
          data: ["星期一", "周二", "周三", "周四", "周五", "周六", "周日"]
        },
        // 设置y轴的相关配置
        yAxis: {
          type: "value"
        },
        // 系列图表配置 它决定着显示那种类型的图表
        series: [
          {
            name: "邮件营销",
            type: "line",

            data: [120, 132, 101, 134, 90, 230, 210]
          },
          {
            name: "联盟广告",
            type: "line",

            data: [220, 182, 191, 234, 290, 330, 310]
          },
          {
            name: "视频广告",
            type: "line",

            data: [150, 232, 201, 154, 190, 330, 410]
          },
          {
            name: "直接访问",
            type: "line",

            data: [320, 332, 301, 334, 390, 330, 320]
          }
        ]
      };

      // 把配置项给实例对象
      myChart.setOption(option);
    </script>

猜你喜欢

转载自blog.csdn.net/lovecoding1/article/details/127768984