zoukankan      html  css  js  c++  java
  • Echarts 数据可视化 (二)

    保持热爱,奔赴山河

    可视化图表参数配置

    在这里插入图片描述

    柱状图定制

    在这里插入图片描述

    中间部分html样式

     <div class="no">
                    <div class="no-hd">
                        <ul>
                            <li>125811</li>
                            <li>104563</li>
                        </ul>
                    </div>
                    <div class="no-bd">
                        <ul>
                            <li>前端需求人数</li>
                            <li>市场供应人数</li>
                        </ul>
                    </div>
                </div>
                <div class="map">
                    <div class="chart"></div>
                    <div class="map1"></div>
                    <div class="map2"></div>
                    <div class="map3"></div>
                </div>
    

    中间部分css样式

    要点:
    1、字体设置
    2、盒子四角短边框设置
    3、地图中间动画

    /* 声明字体*/
    @font-face {
      font-family: electronicFont;
      src: url(../font/DS-DIGIT.TTF);
    }
    .no {
      background: rgba(101, 132, 226, 0.1);
      padding: 0.1875rem;
      .no-hd {
        position: relative;
        border: 1px solid rgba(25, 186, 139, 0.17);
        &::before {
          content: "";
          position: absolute;
           30px;
          height: 10px;
          border-top: 2px solid #02a6b5;
          border-left: 2px solid #02a6b5;
          top: 0;
          left: 0;
        }
        &::after {
          content: "";
          position: absolute;
           30px;
          height: 10px;
          border-bottom: 2px solid #02a6b5;
          border-right: 2px solid #02a6b5;
          right: 0;
          bottom: 0;
        }
        ul {
          display: flex;
          li {
            position: relative;
            flex: 1;
            text-align: center;
            height: 1rem;
            line-height: 1rem;
            font-size: 0.875rem;
            color: #ffeb7b;
            padding: 0.05rem 0;
            font-family: electronicFont;
            font-weight: bold;
            &:first-child::after {
              content: "";
              position: absolute;
              height: 50%;
               1px;
              background: rgba(255, 255, 255, 0.2);
              right: 0;
              top: 25%;
            }
          }
        }
      }
      .no-bd ul {
        display: flex;
        li {
          flex: 1;
          height: 0.5rem;
          line-height: 0.5rem;
          text-align: center;
          font-size: 0.225rem;
          color: rgba(255, 255, 255, 0.7);
          padding-top: 0.125rem;
        }
      }
    }
    .map {
      position: relative;
      height: 10.125rem;
      .chart {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 5;
        height: 10.125rem;
         100%;
      }
      .map1,
      .map2,
      .map3 {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
         6.475rem;
        height: 6.475rem;
        background: url(../images/map.png) no-repeat;
        background-size: 100% 100%;
        opacity: 0.3;
      }
      .map2 {
         8.0375rem;
        height: 8.0375rem;
        background-image: url(../images/lbx.png);
        opacity: 0.6;
        animation: rotate 15s linear infinite;
        z-index: 2;
      }
      .map3 {
         7.075rem;
        height: 7.075rem;
        background-image: url(../images/jt.png);
        animation: rotate1 10s linear infinite;
      }
    
      @keyframes rotate {
        from {
          transform: translate(-50%, -50%) rotate(0deg);
        }
        to {
          transform: translate(-50%, -50%) rotate(360deg);
        }
      }
      @keyframes rotate1 {
        from {
          transform: translate(-50%, -50%) rotate(0deg);
        }
        to {
          transform: translate(-50%, -50%) rotate(-360deg);
        }
      }
    }
    
    

    常用样式(重要)

    圆角 距离 高度

    1、柱子边框圆角处理
    2、柱子间的距离
    3、柱子的高度
    在这里插入图片描述

    series : [
    
    itemStyle : {
         barBorderRadius : 20 
    } ,
    barCategoryGap : 50 ,
    barWidth : 10
    ]
    

    标签 颜色 浮动

    1、在图像内显示标签
    注意: {c} 会自动解析 data 数据

    Tips :
    字符串模板模板变量有
    {a} :系列名
    {b} : 数据名
    {c} :数据值。
    {@xxx}:数据中名为' xxx '的维度的值,如{@ product表示名为' product”的维度的值。
    {@[n]}:数据中维度n的值,如{@[3]}`表示维度3的值,从0开始计数

    series : [
       label : {
       show : true ,
       position : "inside" ,
       formatter : "{c}%"
    
    }
    ]
    

    2、常规法改变柱子颜色
    注意 属性层次关系

     series: [
          {
            name: '条',
            type: 'bar',
            data: [18203, 23489, 29034, 104970, 131744] ,
            itemStyle :{
              barBorderRadius:20 ,
              color : "#fff"
            } 
    ]
    

    3、运用函数遍历 颜色
    在这里插入图片描述

      
    var myColor = ["#1089E7","#F57474","#56D0E3","#F88448",
      "#8B78F6"] ;
    
    
    
    itemStyle :{
              barBorderRadius:20 ,
              color : function(params){
                return myColor[params.dataIndex] ;
              }
            } ,
    

    4、运用 yAxisIndex 实现类似定位浮动
    在这里插入图片描述

    使用位置 作为 series 的参数

    注意 属性位置

    series: [
          {
            name: '条',
            type: 'bar',
            yAxisIndex : 0 ,
            data: [70, 34, 68, 78, 69] ,
            itemStyle :{
              barBorderRadius:20 ,
              color : function(params){
                return myColor[params.dataIndex] ;
              }
            } ,
    
    
            // 柱子间距离
            barCategoryGap : 50 ,
            barWidth : 10 ,
            label :{
              show : true ,
              position : "inside",
              formatter : "{c}%"
            }
          },
    
          {
            name: '框',
            type: 'bar',
            barCategoryGap:  50 ,
            barWidth:  15 ,
            data: [100, 100, 100, 100, 100] ,
            yAxisIndex : 1 ,
            itemStyle: {
              color : "none" ,
              borderColor : "#00c1de" ,
              borderWidth : 3 ,
              barBorderRadius: 15 ,
    
            }
    
          }
        ]
    

    翻转

    注意: 在 Echarts 中默认 y 轴是翻转的
    解法: inverse : true

    折线图定制

    关于折线图位于 矩形框内位置

    使用 grid 定制
    在这里插入图片描述
    注意: 图标名称对应的字段名相对应,否则无法

    在这里插入图片描述

    折线平滑显示

    在这里插入图片描述

    修改折线颜色

    在这里插入图片描述

    图标 Tab栏切换

    1、图标样式显示

    legend :{
    
    }
    

    如果 series 对象有name值,则 Legend可以不用写data

    2、tab栏切换事件

    点击2020按钮需要把 series第一个对象里面的data换成2020年对象里面 data[0]
    点击2020按钮需要把 series第二个对象里面的data换成2020年对象里面data[1]
    2021按钮同样道理

    在这里插入图片描述
    核心代码体现
    在这里插入图片描述

    小结

    在这里插入图片描述

  • 相关阅读:
    Maven学习总结(18)——深入理解Maven仓库
    Maven学习总结(18)——深入理解Maven仓库
    MyBatis学习总结(15)——定制Mybatis自动代码生成的maven插件
    MyBatis学习总结(15)——定制Mybatis自动代码生成的maven插件
    Spring学习总结(7)——applicationContext.xml 配置文详解
    Spring学习总结(7)——applicationContext.xml 配置文详解
    Java基础学习总结(54)——JSON和Map转换的工具类
    Java基础学习总结(54)——JSON和Map转换的工具类
    【华为云技术分享】【DevCloud · 敏捷智库】如何避免重要需求遗漏?
    2019新书《昇腾AI处理器架构与编程》思维导图
  • 原文地址:https://www.cnblogs.com/lzhCreate/p/14332154.html
Copyright © 2011-2022 走看看