zoukankan      html  css  js  c++  java
  • echart图表--雷达图表的动态数据max

    使用vue+echart图表。

    引入echart

    npm i echart
    

      可参考:https://www.npmjs.com/package/echart(npm官网)

    在main.js中引入,挂载在vue实例上。

    import * as echarts from 'echarts';
    Vue.prototype.$echarts=echarts;
    

      在LeiDa.vue文件中配置如下

    <template>
      <div>
        <div style=" 500px; height: 500px" ref="chart" id="chart"></div>
      </div>
    </template>
    <script>
    export default {
      data() {
        return {};
      },
      methods: {
        initCharts() {
          let bookCategoryChart = this.$echarts.init(
            document.getElementById("chart")
          );
          var color = ["#f43f4d", "#fe9100", "#03b38c", "#009afe"];
          var Data = [
            {
              value: 85,
              name: "特征值",
            },
            {
              value: 660,
              name: "特征值",
            },
            {
              value: 57,
              name: "特征值",
            },
            {
              value: 50,
              name: "特征值4",
            },
            {
              value: 60,
              name: "特征值5",
            },
          ];
        let may=Data.map(item=>{
            return item.value;
        })
         let maxx = Math.max(...may)+'';
         maxx=maxx.split('')
         console.log(maxx);
        let double=(Number(maxx[0])+1) //向上取+1
        let big=(double+(double%2))*(Math.pow(10,(maxx.length-1)))  //判断是否为2的倍数,若是则取余加余数。
        console.log(big);
        // console.log(may);
          var value = [];
          var name = [];
          var indicator = [];
          var radarData = [];
          var scatterData = [];
          Data.map(function (e, i) {
            value.push(e.value);
            name.push(e.name);
            var cor = color[0];
            indicator.push({
              text: e.name,
              max: big,
              color: cor,
            });
            scatterData.push({
              value: [e.value, i],
              itemStyle: {
                normal: {
                  color: cor,
                  borderColor: cor,
                  borderWidth: 2,
                },
              },
            });
          });
          radarData.push({ value: value });
          var option = {
            backgroundColor: "#33333C",
            tooltip: {
              trigger: "axis",
            },
            radar: [
              {
                indicator: indicator,
                name: {
                  show: true,
                  textStyle: {
                    fontWeight: "bold",
                    fontSize: 14,
                  },
                },
    
                center: ["50%", "50%"],
                radius: "80%",
                shape: "circle",
                axisLine: {
                  lineStyle: {
                    color: "rgba(255,255,255,0.3)",
                  },
                },
                axisTick: {
                  show: false,
                  lineStyle: {
                    color: "rgba(255,255,255,0.3)",
                  },
                },
                splitArea: {
                  show: true,
                  areaStyle: {
                    color: ["transparent"],
                  },
                },
                splitLine: {
                  show: true,
                  lineStyle: {
                     1,
                    color: "rgba(255,255,255,0.3)",
                  },
                },
              },
            ],
            polar: {},
            angleAxis: {
              type: "category",
              data: name,
              boundaryGap: false,
              clockwise: false,
              axisTick: {
                show: false,
              },
              axisLabel: {
                show: false,
              },
              axisLine: {
                show: false,
              },
              splitLine: {
                show: false,
              },
            },
            radiusAxis: {
              min: 0,
              max: big,
         
              splitLine: {
                show: false,
              },
              axisTick: {
                show: false,
              },
              axisLabel: {
                color: "#bfbfbe",
              },
            },
            series: [
              {
                name: "",
                type: "radar",
                tooltip: {
                  trigger: "item",
                },
               
                symbolSize: 6,
                itemStyle: {
                  normal: {
                    color: "#fff",
                    borderColor: "#009afe",
                    borderWidth: 2,
                  },
                },
                lineStyle: {
                  color: "#ff9100",
                   2,
                },
                areaStyle: {
                  opacity: 1,
                  color: this.$echarts.graphic.LinearGradient(
                    0,
                    0,
                    1,
                    0,
                    [
                      {
                        offset: 1,
                        color: "rgba(0, 154, 254, 0.6)",
                      },
                      {
                        offset: 0,
                        color: "rgba(84, 114, 211, 0.6)",
                      },
                    ],
                    false
                  ),
                  type: "default",
                },
                data: radarData,
              },
              {
                name: "",
                type: "scatter",
                coordinateSystem: "polar",
                symbolSize: 10,
                data: scatterData,
              },
            ],
          };
          bookCategoryChart.setOption(option);
        },
      },
      mounted() {
        this.initCharts();
      },
    };
    </script>
    

      

      max参数参考:https://echarts.apache.org/zh/option.html#radar.indicator.max

    效果如图:

    集思广益,仅供学习,侵权即删!!
  • 相关阅读:
    webNav
    keyBoardValue
    认证,权限,频率
    路由组件与视图集中附加action的声明
    视图组件
    请求与响应
    DRF序列化组件
    DRF入门及安装
    后台管理
    auth认证模块
  • 原文地址:https://www.cnblogs.com/hudunyu/p/14659191.html
Copyright © 2011-2022 走看看