zoukankan      html  css  js  c++  java
  • 如何实现动态水球图 --》 echars结合echarts-liquidfill实现

    1)项目中作为项目依赖,安装到项目当中(注意必须要结合echars)

    npm install echarts vue-echarts --save
    npm install echarts-liquidfill --save

    2)在需要使用水晶球的组件里引入liquidFill.js

    import 'echarts-liquidfill/src/liquidFill.js'; //在这里引入

    3)在模板中加入挂载水晶球的DOM节点

    <div id="myChartWhater" :style="{ '340px', height: '220px',}"></div>

    4)在方法methods中添加liquidFill调用方法,如
     
    在data中先定义:score: 0.8,healthyName: "良好",
      initWater() {
                let value = this.score;
    
                let myChart = this.echarts.init(document.getElementById("myChartWhater"));
    
                let colorScore = this.score * 100;
                let colorList = [];
                if (colorScore >= 90) {
                    let color1 = "rgb(45,224,1135)";
                    let color2 = "rgb(74,227,141)";
                    colorList.push(color1);
                    colorList.push(color2);
                } else if (colorScore >= 80 && colorScore < 90) {
                    let color1 = "rgb(41,145,235)";
                    let color2 = "rgb(0,137,255)";
                    colorList.push(color1);
                    colorList.push(color2);
                } else if (colorScore >= 60 && colorScore < 80) {
                    let color1 = "rgb(219,185,246)";
                    let color2 = "rgb(253,208,0)";
                    colorList.push(color1);
                    colorList.push(color2);
                } else if (colorScore < 60) {
                    let color1 = "rgb(207,74,84)";
                    let color2 = "rgb(243,17,34)";
                    colorList.push(color1);
                    colorList.push(color2);
                }
                var data = [];
                data.push(value);
                data.push(value);
                myChart.setOption({
                    backgroundColor: "white", //容器背景颜色
                    title: {
                        text: "",
                        textStyle: {
                            fontWeight: "normal",
                            fontSize: 25,
                            color: "rgb(97, 142, 205)"
                        }
                    },
                    series: [
                        {
                            type: "liquidFill",
                            radius: "80%", //水球的半径
                            data: data,
                            backgroundStyle: {
                                color: "white"
                            },
                            label: {
                                normal: {
                                    formatter:
                                        "{a|" +
                                        (value * 100).toFixed(0) +
                                        "}" +
                                        " " +
                                        "
    " +
                                        "
    " +
                                        "{b|" +
                                        this.healthyName +
                                        "}",
                                    textStyle: {
                                        fontSize: 55 //字体大小
                                    },
                                    position: ["50%", "50%"],
                                    rich: {
                                        //富文本 对字体进一步设置样式。a对应的value,b对应的healthyName
                                        a: {
                                            fontSize: 60,
                                            lineHeight: 10,
                                            fontWeight: "bold",
                                            padding: [0, 0, 0, 20]
                                        },
                                        b: {
                                            fontSize: 30,
                                            lineHeight: 10,
                                            fontWeight: "bold"
                                        }
                                    }
                                }
                            },
                            outline: {
                                show: true, //是否显示轮廓 布尔值
                                borderDistance: 0, //外部轮廓与图表的距离 数字
                                itemStyle: {
                                    borderColor: "#edf2f6", //边框的颜色
                                    borderWidth: 1 //边框的宽度
                                }
                            },
                            color: [...colorList]
                        }
                    ]
                });
            }
    5)在mounted(){}中调用 initWater方法
    页面完成效果如:
    大功告成!!!!
     
     

      

  • 相关阅读:
    Dropout:随机失活
    SGD的优化:SGD+Momentum、Nesterov Momentum、AdaGrad、 RMSProp、Adam
    Batch Normalization:批量归一化
    Zero-Centered:零均值化
    Activation Functions:激活函数
    Pooling Layer:池化层
    Convolution Layer:卷积层
    「狐狸」的模板库
    割点
    线段树基础知识详解
  • 原文地址:https://www.cnblogs.com/wangqi2019/p/10978804.html
Copyright © 2011-2022 走看看