常用echarts示例

案例一:(双坐标,双柱图)

常用echarts示例_第1张图片

 代码及注释:

  this.chartOption = { 
            legend: {
                itemHeight: 6, // 图例的高度
                itemWidth: 16, // 图例的宽度
                x: "center", //居右显示
                inactiveColor: "rgba(0,0,0,0.3)", // 图例关闭后的颜色
                textStyle: {
                    fontSize: 12,
                    color: "#0B9295", // 图例的文字颜色
                    padding: [3, 0, 0, 0],
                },
                data: ["老人数", "预警数"],
            },
            tooltip: {
                trigger: "axis",
                axisPointer: {
                    type: "shadow"
                }
            },
            grid: {
                left: "0%",
                right: "0%",
                bottom: "3%",
                containLabel: true
            },
            xAxis: {
                type: "category",
                // data: yearList,
                data:[
                    "市区", "高邮市", "仪征市", "江都区", "宝应县"
                ],
                splitLine: {//分割线配置
                    show: false
                },
                axisLabel: {  // x轴线文字的样式
                    textStyle: {
                        color: "#B4FFF5",
                        fontSize: 12
                    },
                },
                axisTick: {
                    show: false
                },
                axisLine: {//x轴线的颜色以及宽度
                    show: true,
                    lineStyle: {
                        color: "#3AB2B4",
                        type: "solid",
                        width: 1
                    }
                }
            },
            yAxis: [
                {
                    type: "value",
                    name:"老人数",
                    nameTextStyle:{ // name的样式
                        color:"#0B9295"
                    },
                    splitLine: {//分割线配置
                        show: false,
                        lineStyle: {
                            color: "#3AB2B4",
                            type: "solid",
                            width: 0
                        }
                    },
                    axisTick: { // 取消刻度线上的小刻度
                        show: false
                    },
                    axisLine:{ // 取消整个刻度线
                        show:false
                    },
                    axisLabel: { // y轴的文字样式
                        textStyle: {
                            color: "#B4FFF5"
                        },
                    }

                },
                {
                    type: "value",
                    name:"预警数",
                    nameTextStyle:{
                        color:"#0B9295"
                    },
                    position:"right",
                    splitLine: {//分割线配置
                        show: false,
                        lineStyle: {
                            color: "rgba(0, 112, 107, 0.1)"
                        }
                    },
                    axisTick: { // 取消刻度线上的小刻度
                        show: false
                    },
                    axisLine:{ // 取消整个刻度线
                        show:false
                    },
                    axisLabel: {
                        show:true,
                        textStyle: {
                            color: "#B4FFF5"
                        },
                    }
                },
                {
                    type: "value",
                    gridIndex: 0,
                    min: 50,
                    max: 100,
                    splitNumber: 8,
                    splitLine: {
                        show: false,
                        color: ["#ccc"], // 分隔线颜色。
                        width: 1, // 分隔线线宽
                        type: "dashed", // 线的类型
                        opacity: 1 // 图形透明度。支持从 0 到 1 的数字,为 0 时不绘制该图形。
                    },
                    axisLine: {
                        show: false
                    },
                    axisTick: {
                        show: false
                    },
                    axisLabel: {
                        show: false
                    },
                    splitArea: {
                        show: true,
                        areaStyle: {
                            color: ["rgba(250,250,250,0.0)", "rgba(250,250,250,0.05)"]
                        }
                    }
                }

            ],
            series: [
                {
                    name: "老人数",
                    type: "bar",
                    color: "#4FE2CF",
                    nameStyle:{
                        width:100
                    },
                    yAxisIndex: 0, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
                    barWidth:"14px", // 柱子的宽度
                    itemStyle: {
                        normal: {
                            
                            barBorderRadius: [2, 2, 2, 2],
                            lineStyle: {
                                width: 3
                            }
                        }
                    },
                    data:[
                        "12",
                        "2",
                        "3",
                        "2",
                        "45",
                    ]
                },
                {
                    name: "预警数",
                    type: "bar",
                    color: "#FF9F48",
                    barWidth:"14px", // 柱子的宽度
                    yAxisIndex: 1, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
                    showAllSymbol: true, //显示所有图形。
                    itemStyle: {
                        normal: {
                            
                            barBorderRadius: [2, 2, 2, 2],
                            lineStyle: {
                                width: 3
                            }
                        }
                    },
                    data:[
                        "123",
                        "34",
                        "56",
                        "23",
                        "566",
                    ]
                },


            ]
        };

案例二:(堆叠柱图+折线图)

 代码及注释:

 this.chartOption = { 
            legend: {
                itemHeight: 6,
                itemWidth: 16,
                x: "center", //居右显示
                inactiveColor: "rgba(0,0,0,0.3)",// 图例关闭后的颜色
                textStyle: {
                    fontSize: 12,
                    color: "#0B9295", // 图例的文字颜色
                    padding: [3, 0, 0, 0],
                },
                data: ["处理数", "预警数", "处理率"],
            },
            tooltip: {
                trigger: "axis",
                axisPointer: { // 鼠标移上去时,触发后的样式
                    type: "shadow"
                }
            },
            grid: {
                left: "3.5%",
                right: "0%",
                bottom: "3%",
                containLabel: true
            },
            xAxis: {
                type: "category",
                // data: yearList,
                data:[
                    "市区", "高邮市", "仪征市", "江都区", "宝应县"
                ],
                splitLine: {//分割线配置
                    show: false
                },
                axisLabel: {  // x轴线文字的样式
                    textStyle: {
                        color: "#B4FFF5",
                        fontSize: 12
                    },
                },
                axisTick: {
                    show: false
                },
                axisLine: {//x轴线的颜色以及宽度
                    show: true,
                    lineStyle: {
                        color: "#3AB2B4",
                        type: "solid",
                        width: 1
                    }
                }
            },
            yAxis: [
                {
                    type: "value",
                    name:"预警数/处理数",
                    nameTextStyle:{ // name的样式
                        color:"#0B9295"
                    },
                    splitLine: {//分割线配置
                        show: false,
                        lineStyle: {
                            color: "#3AB2B4",
                            type: "solid",
                            width: 0
                        }
                    },
                    axisTick: { // 取消刻度线上的小刻度
                        show: false
                    },
                    axisLine:{ // 取消整个刻度线
                        show:false
                    },
                    axisLabel: { // y轴的文字样式
                        textStyle: {
                            color: "#B4FFF5"
                        },
                    }
                },
                {
                    type: "value",
                    name:"处理率",
                    nameTextStyle:{
                        color:"#0B9295"
                    },
                    position:"right",
                    splitLine: {//分割线配置
                        show: false,
                        lineStyle: {
                            color: "rgba(0, 112, 107, 0.1)"
                        }
                    },
                    axisTick: { // 取消刻度线上的小刻度
                        show: false
                    },
                    axisLine:{ // 取消整个刻度线
                        show:false
                    },
                    axisLabel: {
                        show:true,
                        textStyle: {
                            color: "#B4FFF5"
                        },
                    }
                },
                {
                    type: "value",
                    gridIndex: 0,
                    min: 50,
                    max: 100,
                    splitNumber: 8,
                    splitLine: {
                        show: false
                    },
                    axisLine: {
                        show: false
                    },
                    axisTick: {
                        show: false
                    },
                    axisLabel: {
                        show: false
                    },
                    splitArea: {
                        show: true,
                        areaStyle: {
                            color: ["rgba(250,250,250,0.0)", "rgba(250,250,250,0.05)"]
                        }
                    }
                }

            ],
            series: [
                {
                    name: "处理数",
                    type: "bar",
                    color: "#4FE2CF",
                    // stack设置柱状图堆叠,stack后面要跟同样的名字
                    stack:"Search Engine",
                    nameStyle:{
                        width:100
                    },
                    yAxisIndex: 0, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
                    barWidth:"14px", // 柱子的宽度
                    itemStyle: {
                        normal: {
                            
                            lineStyle: {
                                width: 3
                            }
                        }
                    },
                    data:[
                        "12",
                        "2",
                        "3",
                        "2",
                        "45",
                    ]
                },
// yAxisIndex: 0, 因为处理数和预警数在一起  所以将这两个的值设置为同一个,这样 处理数和预警数会同时使用左侧的 y轴的坐标
                {
                    name: "预警数",
                    type: "bar",
                    // stack设置柱状图堆叠,stack后面要跟同样的名字
                    stack:"Search Engine",
                    color: "#FF9F48",
                    barWidth:"14px", // 柱子的宽度
                    yAxisIndex: 0, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
                    showAllSymbol: true, //显示所有图形。
                    itemStyle: {
                        normal: {
                            
                            barBorderRadius: [2, 2, 2, 2],
                            lineStyle: {
                                width: 3
                            }
                        }
                    },
                    data:[
                        "123",
                        "34",
                        "56",
                        "23",
                        "566",
                    ]
                },
                {
                    name: "处理率",
                    type: "line",
                    color: "#ff4d1c",
                    barWidth:"14px", // 柱子的宽度
                    yAxisIndex: 1, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
                    showAllSymbol: true, //显示所有图形。
                    smooth: true, //平滑曲线显示
                    symbol:"circle",
                    symbolSize: 9, //标记的大小
                    itemStyle: {
                        normal: {
                            lineStyle: {
                                width: 1
                            }
                        }
                    },
                    data:[
                        "123",
                        "34",
                        "56",
                        "23",
                        "566",
                    ]
                },

            ]
        };

案例三:

常用echarts示例_第2张图片

代码及注释:

 this.chartOption = { 
            legend: {
                itemHeight: 6, // 图例的高度
                itemWidth: 16, // 图例的宽度
                x: "center", //居右显示
                inactiveColor: "rgba(0,0,0,0.3)",// 图例关闭后的颜色
                textStyle: {
                    fontSize: 12,
                    color: "#0B9295", // 图例的文字颜色
                    padding: [3, 0, 0, 0],
                },
                data: ["实时用电量", "近七天平均用电量"],
            },
            tooltip: {
                trigger: "axis",
                  
            },
            grid: {
                left: "0%",
                right: "0%",
                bottom: "3%",
                containLabel: true
            },
            xAxis: {
                type: "category",
                // data: yearList,
                data:[
                    "11:00", "11:20", "11:40", "12:00", "12:20", "12:40", "13:00"
                ],
                splitLine: {//分割线配置
                    show: false
                },
                axisLabel: {  // x轴线文字的样式
                    textStyle: {
                        color: "#B4FFF5",
                        fontSize: 12
                    },
                },
                axisTick: {
                    show: false
                },
                axisLine: {//x轴线的颜色以及宽度
                    show: true,
                    lineStyle: {
                        color: "#3AB2B4",
                        type: "solid",
                        width: 1
                    }
                }
            },
            yAxis: [
                {
                    type: "value",
                    name:"单位:kwh",
                    splitNumber: 5,
                    nameTextStyle:{ // name的样式
                        color:"#0B9295"
                    },
      
                    axisTick: { // 取消刻度线上的小刻度
                        show: false
                    },
                    axisLine:{ // 取消整个刻度线
                        show:false
                    },

                    splitLine: {
                        lineStyle: {
                            color: "#3AB2B4",
                            opacity: 0.3,
                            type: "solid",
                        },
                    },
                    axisLabel: {
                        textStyle: {
                            color: "#B4FFF5",
                        },
                    },
                },

            ],
            series: [
                {
                    type: "line",
                    symbol: "none", // 不展示折线的圆点
                    name:"近七天平均用电量",
                    smooth: true, // 平滑的折线
                    itemStyle: {
                        normal: {
                            color: "#ff9f48", //改变折线点的颜色
                            lineStyle: {
                                color: "#ff9f48", //改变折线颜色
                                type: "solid"
                            }
                        }
                    },
                    areaStyle: {
                        //折线图颜色半透明
                        color: {
                            type: "linear",
                            x: 0,
                            y: 0,
                            x2: 0,
                            y2: 1,
                            colorStops: [{
                                offset: 0, color: "rgba(255, 159, 72, 0.5)" // 0% 处的颜色
                            }, {
                                offset: 1, color: "rgba(255, 159, 72, 0)" // 100% 处的颜色
                            }],
                            global: false // 缺省为 false
                        }
                    },
                    toolbox: {
                        show: false,
                    },
                    data: [480, 390, 500, 260, 320, 660, 320],
                },
                {
                    type: "line",
                    symbol: "none", // 不展示折线的圆点
                    name:"实时用电量",
                    smooth: true, // 平滑的折线
                    itemStyle: {
                        normal: {
                            color: "#4fe2cf", //改变折线点的颜色
                            lineStyle: {
                                color: "#4fe2cf", //改变折线颜色
                                type: "solid"
                            }
                        }
                    },
                    areaStyle: { // 折线下的区域颜色
                        //折线图颜色半透明
                        color: {
                            type: "linear",
                            x: 0,
                            y: 0,
                            x2: 0,
                            y2: 1,
                            colorStops: [{
                                offset: 0, color: "rgba(79, 226, 207, 0.5)" // 0% 处的颜色
                            }, {
                                offset: 1, color: "rgba(79, 226, 207,0)" // 100% 处的颜色
                            }],
                            global: false // 缺省为 false
                        }
                    },
                    toolbox: {
                        show: false,
                    },
                    data: [340, 510, 540, 600, 500, 600, 640],
                },
                
               
            ],
        };

案例四:(动态前进图)

常用echarts示例_第3张图片

import Util from "@/util/echarts/common"; // 引入echarts公共的类\
 
export default class Bar extends Util {
    constructor(el, option) {
        super(el, option); // 继承父类,echarts公共类的值
        this.init(); // 初始化
    }
 
    init() {
        this.myChart = this.$e.init(this.$el);
        this.setCharts();
        var index = 0; //播放所在下标

        setTimeout(()=>{
            this.myChart.dispatchAction({
                type: "showTip",
                seriesIndex:0,
                dataIndex: index //默认显示第几个
            });
            index++;
            if(index > 96) { // 此处的96为x轴的数据长度
                index = 0;
            }
        });
        // 改变this指向
        var option = this.chartOption;
        var myChart = this.myChart;

        setInterval(function () {
            // 每次向后滚动一个,最后一个从头开始。
            if (option.dataZoom[0].endValue === 96 ) { // 此处的96为x轴的数据长度
                option.dataZoom[0].endValue = 15; 
                option.dataZoom[0].startValue = 0;
            }
            else {
                option.dataZoom[0].endValue = option.dataZoom[0].endValue + 1;
                option.dataZoom[0].startValue = option.dataZoom[0].startValue + 1;
            }
            myChart.setOption(option, true); // 将配置项加到echarts中
        }, 2000);
        window.addEventListener("resize", () => { // 监听屏幕缩放,使echarts同样缩放
            this.myChart.resize();
        });
    }
 
    setCharts() { // 配置echarts
        this.chartOption = { 
            legend: {
                itemHeight: 6, // 图例的高度
                itemWidth: 16, // 图例的宽度
                x: "center", //居右显示
                inactiveColor: "rgba(0,0,0,0.3)",
                textStyle: {
                    fontSize: 12,
                    color: "#0B9295", // 图例的文字颜色
                    padding: [3, 0, 0, 0],
                },
                data: ["实时用电量", "近七天平均用电量"],
                left:'right',
            },
            tooltip: {
                trigger: "axis",
                  
            },
            dataZoom: [
                {
                    show:false, // 隐藏下拉条
                    startValue: 0, // 从头开始。
                    endValue: 9  // 一次性展示9个。
                }
            ],
            grid: {
                left: "3%",
                right: "0%",
                bottom: "3%",
                containLabel: true
            },
            xAxis: {
                type: "category",
                // data: yearList,
                data:[
                    "11:00", "11:20", "11:40", "12:00", "12:20", "12:40", "13:00","11:00", "11:20", "11:40", "12:00", "12:20", "12:40", "13:00"
                ],
                splitLine: {//分割线配置
                    show: false
                },
                axisLabel: {  // x轴线文字的样式
                    textStyle: {
                        color: "#B4FFF5",
                        fontSize: 12
                    },
                },
                axisTick: {
                    show: false
                },
                axisLine: {//x轴线的颜色以及宽度
                    show: true,
                    lineStyle: {
                        color: "#3AB2B4",
                        type: "solid",
                        width: 1
                    }
                }
            },
            yAxis: [
                {
                    type: "value",
                    name:"单位:kwh",
                    splitNumber: 5,
                    nameTextStyle:{ // name的样式
                        color:"#0B9295"
                    },
      
                    axisTick: { // 取消刻度线上的小刻度
                        show: false
                    },
                    axisLine:{ // 取消整个刻度线
                        show:false
                    },

                    splitLine: {
                        lineStyle: {
                            color: "#3AB2B4",
                            opacity: 0.3,
                            type: "solid",
                        },
                    },
                    axisLabel: {
                        textStyle: {
                            color: "#B4FFF5",
                        },
                    },
                },

            ],
            series: [
                {
                    type: "line",
                    symbol: "none", // 不展示折线的圆点
                    name:"近七天平均用电量",
                    smooth: true, // 平滑的折线
                    itemStyle: {
                        normal: {
                            color: "#ff9f48", //改变折线点的颜色
                            lineStyle: {
                                color: "#ff9f48", //改变折线颜色
                                type: "solid"
                            }
                        }
                    },
                    areaStyle: {
                        //折线图颜色半透明
                        color: {
                            type: "linear",
                            x: 0,
                            y: 0,
                            x2: 0,
                            y2: 1,
                            colorStops: [{
                                offset: 0, color: "rgba(255, 159, 72, 0.5)" // 0% 处的颜色
                            }, {
                                offset: 1, color: "rgba(255, 159, 72, 0)" // 100% 处的颜色
                            }],
                            global: false // 缺省为 false
                        }
                    },
                    toolbox: {
                        show: false,
                    },
                    data: [340, 51, 540, 600, 500, 60, 60,30, 50, 50, 60, 50, 60, 60],
                },
                {
                    type: "line",
                    symbol: "none", // 不展示折线的圆点
                    name:"实时用电量",
                    smooth: true, // 平滑的折线
                    itemStyle: {
                        normal: {
                            color: "#4fe2cf", //改变折线点的颜色
                            lineStyle: {
                                color: "#4fe2cf", //改变折线颜色
                                type: "solid"
                            }
                        }
                    },
                    areaStyle: { // 折线下的区域颜色
                        //折线图颜色半透明
                        color: {
                            type: "linear",
                            x: 0,
                            y: 0,
                            x2: 0,
                            y2: 1,
                            colorStops: [{
                                offset: 0, color: "rgba(79, 226, 207, 0.5)" // 0% 处的颜色
                            }, {
                                offset: 1, color: "rgba(79, 226, 207,0)" // 100% 处的颜色
                            }],
                            global: false // 缺省为 false
                        }
                    },
                    toolbox: {
                        show: false,
                    },
                    data: [340, 510, 540, 600, 500, 600, 640,340, 510, 540, 600, 500, 600, 640],
                },
                
               
            ],
        };
    }
}

案例五:雷达图
常用echarts示例_第4张图片

代码:

常用echarts示例_第5张图片

   mounted(){
        // 渲染echarts
        // 监听屏幕,实现自适应
        window.onresize = () => {
            this.myChart.resize();
        };
        setTimeout(()=>{
            this.initChart()
        },1000)
    },
    methods:{
        initChart(){
            this.myChart = echarts.init(document.getElementById('chart'))
            const option = {
                color: ["#1b7cff", "#6dcd62"],
                title: {
                    text: '企业能力分析',
                    textStyle:{
                        color: '#2E3A55',
                        fontWeight: 500,
                        fontSize: '15px',
                    }
                },
                tooltip:{
                    show: true,
                    // trigger: 'item', 
                    // confine: true,
                    // textStyle: {
                    //     color: "#fff",
                    //     fontSize: 13
                    // }
                },
                legend: {
                    itemHeight: 8,
                    itemWidth: 8,
                    data: ['企业得分占比', '市均值得分占比'],
                    x: "right",
                    textStyle: {
                        fontSize: 10,
                        color: "#B2BACC", // 图例的文字颜色
                    }
                },
                radar: {
                    // shape: 'circle',
                    center: ['50%', '59%'],//位置
                    name: {
                        textStyle: {
                            color: '#6A7284',
                            fontSize:'12px'
                        }
                    },
                    indicator: [
                    { name: '创新人才', max: 6500 },
                    { name: '创新投入', max: 16000 },
                    { name: '创新产出', max: 30000 },
                    { name: '企业成长性', max: 38000 },
                    { name: '创新平台', max: 52000 },
                    { name: '创新活动', max: 25000 },
                    { name: '创新成果', max: 25000 }
                    ]
                },
                series: [
                    {
                    type: 'radar',
                    // label:{
                    //     show: true,
                    //     position: 'top',
                    //     color: 'rgba(111,82,38, .8)',
                    //     fontSize: 13,
                    //     fontWeight: 'bold'
                    // },
                    symbolSize: 6 , // 雷达区域节点的大小
                    // // 区域的颜色
                    // itemStyle: {
                    //     borderWidth: 2,
                    //     opacity: 1
                    // },
                    // 雷达区域的背景颜色的样式
                    areaStyle: {
                        opacity: 0.2
                    },
                    data: [
                        {
                        value: [4200, 3000, 20000, 35000, 50000, 18000],
                        name: '企业得分占比'
                        },
                        {
                        value: [5000, 14000, 28000, 26000, 42000, 21000],
                        name: '市均值得分占比'
                        }
                    ]
                    }
                ]
             }
            this.myChart.setOption(option, true);
         }
    }

案例六:自定义tooltip提示

常用echarts示例_第6张图片

import Common from "@/util/echatrs/common";
import * as echarts from "echarts";
export default class BarLine extends Common {

    constructor(el, option) {
        super(el, option);
        this.init();

    }
    init() {
        this.myChart = this.$e.init(this.$el);
        this.setCharts();
        this.myChart.setOption(this.chartOption, true);
        window.addEventListener("resize", () => {
            this.myChart.resize();
        });
        this.myChart.on("click", (a) => {
            if (this.option.click) {
                this.option.click(a);
            }
        });
    }

    setCharts() {

        if (this.option.theme === "dark") {
            this.chartOption = {
                legend: {
                    itemHeight: 6,
                    itemWidth: 16,
                    x: "center", //居右显示
                    inactiveColor: "rgba(0,0,0,0.9)", // 图例关闭后的颜色
                    textStyle: {
                        fontSize: 14,
                        color: "#7E9CC1", // 图例的文字颜色
                        padding: [3, 0, 0, 0],
                    },
                    data: ["延迟完工项目数量", "延迟完工率"],
                },
                tooltip: {
                    trigger: "axis",
                    axisPointer: { // 鼠标移上去时,触发后的样式
                        type: "shadow"
                    },
                    padding: 0,
                    borderColor: "rgba(0, 0, 0, 0)",
                    borderWidth: 0,
                    formatter: function (obj) {
                        // console.log(obj);
                        var name = obj[0].name || obj[1].name;
                        var number = obj[0].value;
                        var rate = obj[1].value;
                        // const lineImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHxSURBVHgB7ZpPSwJBGId/O0YSBPkJwg51jPwCldcgqIunIKVTFNi9ix6iax66JRp0qosQdCnwT6cISoJOHdw61SUMglLRad6VrQjT0sl1aB4YWN1lmWf2fWdmd8aATSLiAdxhcD5tlV7EQB4cMSytJz/+IhKbXtRqaXHkhRqYKFf8WI6YdYH4RgHqVN7GBKv4XKLyQfEjCPXwoGqUmAiiMFTF5ZpiIikmoCqis2FQHC3gNFrAabSA0ygv0Ic2KQRW4B0cggzM5yeM7G+jHdp+ArIq3+m9/m8INSJzf2eFQzM8/W7MDY9BFlIF5k8OUCyXml5D4dKzAoXAqhB4aXqNp38AMpEqQOFBpZvoJP5M8uYKty2SmHJgcXQcspAqEL08bdkL9bQAjc7dRk/mnEYLNCN2fY5d0TP9JVKT2IZ6olDu0JobEdS9JiZnpc5gbaQ/AWp1X2rnvfIEHftSceucbKQJUKv7j/awdnbccEJXLL9a50ik1VjxG6QINGr178g/PlhvXzToyaDtHKBWpBK9yP2o4l+JCAHKjfTMAjrBEJ/XORRGjwNOowWcRgs4jRZwGrHMamSgKgbyDNVqFqrCEWPoq26Blu3Vw6RNHwyhSBGM+aGWRH2zB+zdKja0b4LzsMiL3ly95zwjStaKGmp4wRu/9633ZSgvNQAAAABJRU5ErkJggg==";
                        const darkImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHJSURBVHgB7ZpPTsJAFMa/KQZd1sQDwM6ddmVcKTfQE4gngCtwAzmBeBJwZVyBiSbGDcVoogkLookJCNR5HRpMxIL1wTA6v6TJ9E+a9715b/o6eQIR9cBFHwUE2A+PZUSggQHK2BWV8SXiIsjAQVWOMjADH0PkpBBfCbgMmjDH+AgfaXgp6f28nIc8zMPFO7qODJ0CTCWFPSHDJ4DBODAcK0A3VoBurADdGC9gBQlpbsniaRUs+F0ge4VEJJ4BLuN/+67/G0KTqL2qcIjDTQEH62CDVcDhHdAZxD+TSS+xAErsaQJoBjhhFeCuqGOR2CT+TKUNtKYkMS2ZRxtgg1VA6UGuQr34ZyiJl1ZAcxsLxxZzurEC4ig/A2dtzJW5fHaoHjqWm5W1F3VOy+tplreCjWCfAfK6dzM2nqCxdy3vPYEdNgHk9dwtUGzJeqj/9T7VSMV7JWRaxfoTWARM8vp3NN7U31fpESwk3hulypO+umTILIZPgnKiuqnGSX8p7eaubqwA3VgBurECdPMHBAjUYC4NBwOcw1SGKIuwyaOHOkxsNdgRWQee6ISNE3TBHPyRzaNulQjqm1CtBxo2SGaA8pVCfg0noeMlH8Uifmj5AZoIAAAAAElFTkSuQmCC";

                        // console.log(name, number, rate);
                        return "
" + "
" + " " + "" + name + "
" + "
" + "
" + "" + number + "项" + "延迟完工" + "
" + "
" + "" + rate + "%" + "延迟率" + "
" + "
" + "
"; } }, grid: { left: "3.5%", right: "2.5%", bottom: "21%", containLabel: false }, xAxis: { type: "category", data: this.option.xValue, splitLine: {//分割线配置 show: false }, axisLabel: { // x轴线文字的样式 rotate: 45, textStyle: { color: "#707793", fontSize: 12 }, }, axisTick: { show: false }, axisLine: {//x轴线的颜色以及宽度 show: true, lineStyle: { color: "rgba(0, 201, 255, 0.2)", type: "solid", width: 1 } } }, yAxis: [ { type: "value", name: "项目数量:个", nameTextStyle: { // name的样式 color: "#707793", fontSize: 14 }, splitLine: {//分割线配置 show: false, }, axisTick: { // 取消刻度线上的小刻度 show: true }, axisLine: { // 取消整个刻度线 show: true, lineStyle: { color: "rgba(0, 201, 255, 0.2)", type: "solid", width: 1 } }, axisLabel: { // y轴的文字样式 textStyle: { color: "#707793", fontSize: 14 }, } }, { type: "value", name: "延迟率:%", nameTextStyle: { color: "#707793", fontSize: 14 }, position: "right", splitLine: {//分割线配置 show: false, }, axisTick: { // 取消刻度线上的小刻度 show: true }, axisLine: { // 取消整个刻度线 show: true, lineStyle: { color: "rgba(0, 201, 255, 0.2)", type: "solid", width: 1 } }, axisLabel: { show: true, textStyle: { color: "#707793", fontSize: 14 }, } }, // { // type: "value", // gridIndex: 0, // min: 50, // max: 100, // splitNumber: 8, // splitLine: { // show: false // }, // axisLine: { // show: false // }, // axisTick: { // show: false // }, // axisLabel: { // show: false // }, // splitArea: { // show: true, // areaStyle: { // color: ["rgba(250,250,250,0.0)", "rgba(250,250,250,0.05)"] // } // } // } ], series: [ { name: "延迟完工项目数量", type: "bar", color: "#1795ff", nameStyle: { width: 100 }, yAxisIndex: 0, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用 barWidth: "14px", // 柱子的宽度 itemStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: "#00C9FF" // 0% 处的颜色 }, { offset: 1, color: "#1991FF" // 100% 处的颜色 }], false), lineStyle: { width: 3 }, barBorderRadius: [2, 2, 0, 0], }, }, data: this.option.yCount }, { name: "延迟完工率", type: "line", color: "#F6AB00", barWidth: "14px", // 柱子的宽度 yAxisIndex: 1, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用 showAllSymbol: true, //显示所有图形。 smooth: false, //平滑曲线显示 symbol: "circle", symbolSize: 5, //标记的大小 itemStyle: { normal: { lineStyle: { width: 1 } } }, data: this.option.yRate }, ] }; } else { this.chartOption = { legend: { itemHeight: 6, itemWidth: 16, x: "center", //居右显示 inactiveColor: "rgba(0,0,0,0.3)", // 图例关闭后的颜色 textStyle: { fontSize: 14, color: "#707793", // 图例的文字颜色 padding: [3, 0, 0, 0], }, data: ["延迟完工项目数量", "延迟完工率"], }, tooltip: { trigger: "axis", axisPointer: { // 鼠标移上去时,触发后的样式 type: "shadow" }, padding: 0, borderColor: "rgba(0, 0, 0, 0)", borderWidth: 0, formatter: function (obj) { // console.log(obj); var name = obj[0].name || obj[1].name; var number = obj[0].value; var rate = obj[1].value; const lineImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHxSURBVHgB7ZpPSwJBGId/O0YSBPkJwg51jPwCldcgqIunIKVTFNi9ix6iax66JRp0qosQdCnwT6cISoJOHdw61SUMglLRad6VrQjT0sl1aB4YWN1lmWf2fWdmd8aATSLiAdxhcD5tlV7EQB4cMSytJz/+IhKbXtRqaXHkhRqYKFf8WI6YdYH4RgHqVN7GBKv4XKLyQfEjCPXwoGqUmAiiMFTF5ZpiIikmoCqis2FQHC3gNFrAabSA0ygv0Ic2KQRW4B0cggzM5yeM7G+jHdp+ArIq3+m9/m8INSJzf2eFQzM8/W7MDY9BFlIF5k8OUCyXml5D4dKzAoXAqhB4aXqNp38AMpEqQOFBpZvoJP5M8uYKty2SmHJgcXQcspAqEL08bdkL9bQAjc7dRk/mnEYLNCN2fY5d0TP9JVKT2IZ6olDu0JobEdS9JiZnpc5gbaQ/AWp1X2rnvfIEHftSceucbKQJUKv7j/awdnbccEJXLL9a50ik1VjxG6QINGr178g/PlhvXzToyaDtHKBWpBK9yP2o4l+JCAHKjfTMAjrBEJ/XORRGjwNOowWcRgs4jRZwGrHMamSgKgbyDNVqFqrCEWPoq26Blu3Vw6RNHwyhSBGM+aGWRH2zB+zdKja0b4LzsMiL3ly95zwjStaKGmp4wRu/9633ZSgvNQAAAABJRU5ErkJggg=="; // const darkImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHJSURBVHgB7ZpPTsJAFMa/KQZd1sQDwM6ddmVcKTfQE4gngCtwAzmBeBJwZVyBiSbGDcVoogkLookJCNR5HRpMxIL1wTA6v6TJ9E+a9715b/o6eQIR9cBFHwUE2A+PZUSggQHK2BWV8SXiIsjAQVWOMjADH0PkpBBfCbgMmjDH+AgfaXgp6f28nIc8zMPFO7qODJ0CTCWFPSHDJ4DBODAcK0A3VoBurADdGC9gBQlpbsniaRUs+F0ge4VEJJ4BLuN/+67/G0KTqL2qcIjDTQEH62CDVcDhHdAZxD+TSS+xAErsaQJoBjhhFeCuqGOR2CT+TKUNtKYkMS2ZRxtgg1VA6UGuQr34ZyiJl1ZAcxsLxxZzurEC4ig/A2dtzJW5fHaoHjqWm5W1F3VOy+tplreCjWCfAfK6dzM2nqCxdy3vPYEdNgHk9dwtUGzJeqj/9T7VSMV7JWRaxfoTWARM8vp3NN7U31fpESwk3hulypO+umTILIZPgnKiuqnGSX8p7eaubqwA3VgBurECdPMHBAjUYC4NBwOcw1SGKIuwyaOHOkxsNdgRWQee6ISNE3TBHPyRzaNulQjqm1CtBxo2SGaA8pVCfg0noeMlH8Uifmj5AZoIAAAAAElFTkSuQmCC"; // console.log(name, number, rate); return "
" + "
" + " " + "" + name + "
" + "
" + "
" + "" + number + "项" + "延迟完工" + "
" + "
" + "" + rate + "%" + "延迟率" + "
" + "
" + "
"; } }, grid: { left: "3.5%", right: "2.5%", bottom: "21%", containLabel: false }, xAxis: { type: "category", data: this.option.xValue, splitLine: {//分割线配置 show: false }, axisLabel: { // x轴线文字的样式 rotate: 45, textStyle: { color: "#707793", fontSize: 12 }, }, axisTick: { show: false }, axisLine: {//x轴线的颜色以及宽度 show: true, lineStyle: { color: "rgba(0, 112, 107, 0.2)", type: "solid", width: 1 } } }, yAxis: [ { type: "value", name: "项目数量:个", nameTextStyle: { // name的样式 color: "#707793", fontSize: 14 }, splitLine: {//分割线配置 show: false, }, axisTick: { // 取消刻度线上的小刻度 show: true }, axisLine: { // 取消整个刻度线 show: true, lineStyle: { color: "rgba(0, 112, 107, 0.2)", type: "solid", width: 1 } }, axisLabel: { // y轴的文字样式 textStyle: { color: "#707793", fontSize: 14 }, } }, { type: "value", name: "延迟率:%", nameTextStyle: { color: "#707793", fontSize: 14 }, position: "right", splitLine: {//分割线配置 show: false, }, axisTick: { // 取消刻度线上的小刻度 show: true }, axisLine: { // 取消整个刻度线 show: true, lineStyle: { color: "rgba(0, 112, 107, 0.2)", type: "solid", width: 1 } }, axisLabel: { show: true, textStyle: { color: "#707793", fontSize: 14 }, } }, // { // type: "value", // gridIndex: 0, // min: 50, // max: 100, // splitNumber: 8, // splitLine: { // show: false // }, // axisLine: { // show: false // }, // axisTick: { // show: false // }, // axisLabel: { // show: false // }, // splitArea: { // show: true, // areaStyle: { // color: ["rgba(250,250,250,0.0)", "rgba(250,250,250,0.05)"] // } // } // } ], series: [ { name: "延迟完工项目数量", type: "bar", color: "#009D85", nameStyle: { width: 100 }, yAxisIndex: 0, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用 barWidth: "14px", // 柱子的宽度 itemStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: "#00C29F" // 0% 处的颜色 }, { offset: 1, color: "#009D85" // 100% 处的颜色 }], false), lineStyle: { width: 3 }, barBorderRadius: [2, 2, 0, 0], } }, data: this.option.yCount }, { name: "延迟完工率", type: "line", color: "#F6AB00", barWidth: "14px", // 柱子的宽度 yAxisIndex: 1, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用 showAllSymbol: true, //显示所有图形。 smooth: false, //平滑曲线显示 symbol: "circle", symbolSize: 5, //标记的大小 itemStyle: { normal: { lineStyle: { width: 1 } } }, data: this.option.yRate }, ] }; } } setField() { const colors = this.option.colors; const sourceData = this.option.data; const total = sourceData.reduce((num, item) => { num += item.value; return num; }, 0); // 内环间隔距离 const inSplitWidth = 3; // 为了实现内环间隔距离,需要额外插入的数值。200 只是个系数,值越大,单位间隔的距离越小。 const inSplitValue = Math.floor(total / (150 / inSplitWidth)); // 外环间隔比内环间隔大的值 const itemSplitWidth = 2; // 外环间隔距离 const outSplitWidth = inSplitWidth + itemSplitWidth; // 为了实现外环间隔距离,需要额外插入的数值。 const outSplitValue = Math.floor(total / (150 / outSplitWidth)); // 内环数据的总数 const valueTotal = total + inSplitValue * sourceData.length; function getTextAngle(currentAngle, angle) { currentAngle = currentAngle + angle; if (currentAngle <= 90) { return -currentAngle; } else if (currentAngle <= 180 && currentAngle > 90) { return 180 - currentAngle; } else if (currentAngle < 270 && currentAngle > 180) { return 180 - currentAngle; } else if (currentAngle < 360 && currentAngle >= 270) { return 360 - currentAngle; } } // 内环数据。在原数据的后面添加间隔数据(间隔块设置颜色透明) const valueData = sourceData.reduce((arr, item) => { const currentTotal = arr.reduce((total, item) => { total += item.value; return total; }, 0); const currentAngle = 360 * (currentTotal / valueTotal); const angle = 360 * (item.value / valueTotal) / 2; arr.push({ name: item.name, value: item.value, label: { lineHeight: 80, rotate: getTextAngle(currentAngle, angle) } }, { name: "", value: inSplitValue, itemStyle: { color: "transparent", opacity: 0 }, label: { show: false }, labelLine: { show: false } }); return arr; }, []); // 原数据需要减去的值(外环每块的数据都要比原数据少一点才能达到外环嵌在内环的效果) const itemReduced = outSplitValue - inSplitValue; // 外环数据 const outValueData = sourceData.reduce((arr, item) => { const currentTotal = arr.reduce((total, item) => { total += item.value; return total; }, 0); const currentAngle = 360 * (currentTotal / valueTotal); const angle = 360 * (item.value / valueTotal) / 2; arr.push({ name: item.name, value: item.value, label: { color: "#fff", position: "inside", align: "center", lineHeight: 10, // verticalAlign: 'top', rotate: getTextAngle(currentAngle, angle) } }, { name: "", value: outSplitValue, itemStyle: { color: "transparent", opacity: 0 }, label: { show: false, textStyle: { fontSize: 12, color: "#fff" } }, labelLine: { show: false } }); return arr; }, []); return { colors, total, valueData, itemReduced, valueTotal, outValueData }; } }

案例七:(立体柱状图) 

常用echarts示例_第7张图片

  setCharts() {






        const barWidth = 10
        this.chartOption = {

            grid: {
                left: "15%",
                right: "0%",
                bottom: "15%",
                containLabel: false
            },
            legend: {
                itemHeight: 6, // 图例的高度
                itemWidth: 16, // 图例的宽度
                x: "center", //居右显示
                inactiveColor: "rgba(0,0,0,0.3)",// 图例关闭后的颜色
                textStyle: {
                    fontSize: 12,
                    color: "#A1D1EF", // 图例的文字颜色
                    padding: [0, 0, 0, 0],
                },
                selectedMode: false,
                data: ['老人数', '预警数'],
            },
            tooltip: {
                trigger: 'axis',
                axisPointer: {
                    type: 'shadow'
                },
                formatter: function (e) {
                    // console.log(e);
                    var str =
                        e[4].axisValue +
                        "
" + "" + "" + e[4].seriesName + " : " + e[4].value + "
" + "" + "" + e[5].seriesName + " : " + e[5].value; return str; } }, xAxis: { type: 'category', data: ['市区', '高邮市', '仪征市', '江都区', '宝应县' ], splitLine: {//分割线配置 show: false }, axisLabel: { // x轴线文字的样式 textStyle: { color: "#A1D1EF", fontSize: 12 }, }, axisTick: { show: false }, axisLine: {//x轴线的颜色以及宽度 show: true, lineStyle: { color: "rgba(39, 166, 255, 0.5)", type: "solid", width: 1 } } }, yAxis: { type: "value", name: '单位:kw·h ', splitNumber: 5, nameTextStyle: { // name的样式 color: "#6699C1", align: 'left', padding: [0, 0, 0, -25] }, axisTick: { // 取消刻度线上的小刻度 show: false }, axisLine: { // 取消整个刻度线 show: false }, splitLine: { lineStyle: { color: "#27A6FF", opacity: 0.3, type: "dashed", }, }, axisLabel: { textStyle: { color: "#A1D1EF", }, }, }, series: [ // (0)第一个柱子 中间的正方形 { type: "pictorialBar", // 象型柱状 symbol: "diamond", symbolSize: [barWidth, 5], // 调整大小 // symbolOffset: [-13, -3], // 图形相对于原本位置的偏移 symbolOffset: ["-55%", -3], // 图形相对于原本位置的偏移 symbolPosition: "end", z: 12, color: "#6ac1ff", data: [112, 23, 56, 6, 89], }, // (1)第二个柱子中间的正方形 { type: "pictorialBar", symbol: "diamond", symbolSize: [barWidth, 8], // symbolOffset: [13, -3], symbolOffset: ["55%", -3], symbolPosition: "end", z: 12, color: "#ffad96", data: [12, 213, 256, 16, 9], }, // (2)第一个柱子 底部的正方形 { type: "pictorialBar", symbol: "diamond", symbolSize: [barWidth, 5], // symbolOffset: [-13, 3], symbolOffset: ["-55%", 3], z: 12, color: "#6ac1ff", data: [112, 23, 56, 6, 89], }, // (3)第二个柱子 底部的正方形 { name: "", type: "pictorialBar", symbol: "diamond", symbolSize: [barWidth, 5], // symbolOffset: [13, 3], symbolOffset: ["55%", 3], color: "#ffad96", z: 12, data: [12, 213, 256, 16, 9], }, // (4)一个柱子, 下方有颜色填充的的柱子 { name: '老人数', type: "bar", barWidth: barWidth, barGap: "20%", // zlevel: 2, stack: "1", itemStyle: { opacity: 1, color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [ { offset: 0.5, color: "#27a6ff", // color: '#2c61bc', }, { offset: 0.5, color: "#0f85d7", }, { offset: 1, color: "#1d90e1", }, ]), // barBorderRadius: 0, borderRadius: 0, }, // 是否在每个柱子显示 相应的值 label: { show: false, position: ["0", "-25"], color: "#005dd9", fontSize: 14, fontWeight: 'bold' }, data: [112, 23, 56, 6, 89], }, // (5)第二个柱子, 下方有颜色填充的的柱子 { name: '预警数', type: "bar", stack: "2", barWidth: barWidth, itemStyle: { opacity: 1, color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [ { offset: 0.5, color: "#ff744c", }, { offset: 0.5, color: "#d2512c", }, { offset: 1, color: "#eb653e", }, ]), // barBorderRadius: 0, borderRadius: 0, }, // 是否在每个柱子显示 相应的值 label: { show: false, position: ["0", "-25"], color: "#06e6f6", fontSize: 14, fontWeight: 'bold' }, data: [12, 213, 256, 16, 9], }, ] } }

 案例八:(水平立体圆柱图)

常用echarts示例_第8张图片

 setCharts() {
        const y1 = [12, 23, 56, 88, 56]
        const y2 = [89, 56, 88, 32, 89]

        const y12 = [];

        for (let i = 0; i < y1.length; i++) {
            y12.push(y1[i] + y2[i]);
        }
        this.chartOption = {

            grid: {
                left: "15%",
                right: "8%",
                bottom: "15%",
                containLabel: false
            },
            legend: {
                itemHeight: 6, // 图例的高度
                itemWidth: 16, // 图例的宽度
                x: "center", //居右显示
                inactiveColor: "rgba(0,0,0,0.3)",// 图例关闭后的颜色
                textStyle: {
                    fontSize: 12,
                    color: "#A1D1EF", // 图例的文字颜色
                    padding: [0, 0, 0, 0],
                },
                selectedMode: false,
                data: ['处理数', '预警数'],
            },
            tooltip: {
                trigger: 'axis',
                axisPointer: {
                    type: 'shadow'
                },
                formatter: function (e) {
                    // console.log(e);
                    var str =
                        e[2].axisValue +
                        "
" + "" + "" + e[4].seriesName + " : " + e[2].value + "
" + "" + "" + e[4].seriesName + " : " + e[4].value; return str; } }, xAxis: { type: 'value', splitLine: {//分割线配置 show: false }, axisLabel: { // x轴线文字的样式 show: true, textStyle: { color: "#A1D1EF", fontSize: 12 }, }, axisTick: { show: false }, axisLine: {//x轴线的颜色以及宽度 show: true, lineStyle: { color: "rgba(39, 166, 255, 0.5)", type: "dashed", width: 1 } } }, yAxis: { type: "category", data: ['市区', '高邮市', '仪征市', '江都区', '宝应县' ], // name: '单位:kw·h ', // inverse: true, splitNumber: 5, nameTextStyle: { // name的样式 color: "#6699C1", align: 'left', padding: [0, 0, 0, -25] }, axisTick: { // 取消刻度线上的小刻度 show: false }, axisLine: { // 取消整个刻度线 show: false }, splitLine: { lineStyle: { color: "#27A6FF", opacity: 0.3, type: "dashed", }, }, axisLabel: { textStyle: { color: "#A1D1EF", }, }, }, series: [{ // 圆柱的顶部 // "name": "", type: 'pictorialBar', stack: '顶部', symbolSize: [5, 12], symbolOffset: [0, 0], symbolPosition: 'end', z: 12, // "barWidth": "0", "label": { "normal": { "show": false, "position": "top", // "formatter": "{c}%" fontSize: 15, fontWeight: 'bold', color: '#34DCFF' } }, color: "#31fdfd", data: y1 }, // 圆柱的底部 { // name: '', type: 'pictorialBar', symbolSize: [5, 12], stack: '底部', symbolOffset: [0, 0], // "barWidth": "20", z: 12, "color": "#31fdfd", "data": y1 }, // 圆柱子主体 { type: 'bar', name: '处理数', //silent: true, stack: 'a', "barWidth": "12", // barGap: '10%', // Make series be overlap // barCateGoryGap: '10%', itemStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 0, 0, 0.7, [{ offset: 0, color: "#25b5b5" }, { offset: 1, color: "#25b5b5" } ]), opacity: .8 }, }, data: y1 }, { // 圆柱的顶部 // "name": "", stack: '顶部', type: 'pictorialBar', symbolSize: [5, 12], // symbolOffset: [0, 0], symbolPosition: 'end', z: 12, // "barWidth": "0", "label": { "normal": { "show": false, "position": "top", // "formatter": "{c}%" fontSize: 15, fontWeight: 'bold', color: '#34DCFF' } }, color: "#50b6fd", data: y12 }, // 圆柱的底部 // { // name: '', // stack: '底部', // type: 'pictorialBar', // symbolSize: [5, 12], // symbolOffset: [0, 0], // // "barWidth": "20", // z: 13, // "color": "pink", // "data": [2, 23, 20, 40, 272] // }, { type: 'bar', name: '预警数', //silent: true, "barWidth": "12", stack: 'a', itemStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 0, 0, 0.7, [{ offset: 0, color: "#3c8ac0" }, { offset: 1, color: "#3c8ac0" } ]), opacity: .8 }, }, data: y2 }, ] } }

案例九:(进度条渐变+自定义tooltip)

常用echarts示例_第9张图片

  setCharts() {

        if (this.option.theme === "dark") {
            this.chartOption = {
                legend: {
                    itemHeight: 6,
                    itemWidth: 16,
                    x: "right", //居右显示
                    inactiveColor: "rgba(0,0,0,0.9)", // 图例关闭后的颜色
                    textStyle: {
                        fontSize: 14,
                        color: "#707793", // 图例的文字颜色
                        padding: [3, 0, 0, 0],
                    },
                    data: ["项目数量", "延迟完工", "提前完工", "在建"],
                },
                tooltip: {
                    trigger: "axis",
                    axisPointer: { // 鼠标移上去时,触发后的样式
                        type: "shadow"
                    },
                    padding: 0,
                    borderColor: "rgba(0, 0, 0, 0)",
                    borderWidth: 0,
                    formatter: function (obj) {

                        var name = obj[0].name || obj[1].name || obj[2].name || obj[3].name;
                        var projectCount = obj.find(i => i.seriesName === "项目数量") ? obj.find(i => i.seriesName === "项目数量").value : "-";
                        var delayCount = obj.find(i => i.seriesName === "延迟完工") ? obj.find(i => i.seriesName === "延迟完工").value : "-";
                        var advanceCount = obj.find(i => i.seriesName === "提前完工") ? obj.find(i => i.seriesName === "提前完工").value : "-";
                        var constructionCount = obj.find(i => i.seriesName === "在建") ? obj.find(i => i.seriesName === "在建").value : "-";
                        // var number = obj[0].value;
                        // var rate = obj[1].value;
                        // const lineImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHxSURBVHgB7ZpPSwJBGId/O0YSBPkJwg51jPwCldcgqIunIKVTFNi9ix6iax66JRp0qosQdCnwT6cISoJOHdw61SUMglLRad6VrQjT0sl1aB4YWN1lmWf2fWdmd8aATSLiAdxhcD5tlV7EQB4cMSytJz/+IhKbXtRqaXHkhRqYKFf8WI6YdYH4RgHqVN7GBKv4XKLyQfEjCPXwoGqUmAiiMFTF5ZpiIikmoCqis2FQHC3gNFrAabSA0ygv0Ic2KQRW4B0cggzM5yeM7G+jHdp+ArIq3+m9/m8INSJzf2eFQzM8/W7MDY9BFlIF5k8OUCyXml5D4dKzAoXAqhB4aXqNp38AMpEqQOFBpZvoJP5M8uYKty2SmHJgcXQcspAqEL08bdkL9bQAjc7dRk/mnEYLNCN2fY5d0TP9JVKT2IZ6olDu0JobEdS9JiZnpc5gbaQ/AWp1X2rnvfIEHftSceucbKQJUKv7j/awdnbccEJXLL9a50ik1VjxG6QINGr178g/PlhvXzToyaDtHKBWpBK9yP2o4l+JCAHKjfTMAjrBEJ/XORRGjwNOowWcRgs4jRZwGrHMamSgKgbyDNVqFqrCEWPoq26Blu3Vw6RNHwyhSBGM+aGWRH2zB+zdKja0b4LzsMiL3ly95zwjStaKGmp4wRu/9633ZSgvNQAAAABJRU5ErkJggg==";
                        const darkImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHJSURBVHgB7ZpPTsJAFMa/KQZd1sQDwM6ddmVcKTfQE4gngCtwAzmBeBJwZVyBiSbGDcVoogkLookJCNR5HRpMxIL1wTA6v6TJ9E+a9715b/o6eQIR9cBFHwUE2A+PZUSggQHK2BWV8SXiIsjAQVWOMjADH0PkpBBfCbgMmjDH+AgfaXgp6f28nIc8zMPFO7qODJ0CTCWFPSHDJ4DBODAcK0A3VoBurADdGC9gBQlpbsniaRUs+F0ge4VEJJ4BLuN/+67/G0KTqL2qcIjDTQEH62CDVcDhHdAZxD+TSS+xAErsaQJoBjhhFeCuqGOR2CT+TKUNtKYkMS2ZRxtgg1VA6UGuQr34ZyiJl1ZAcxsLxxZzurEC4ig/A2dtzJW5fHaoHjqWm5W1F3VOy+tplreCjWCfAfK6dzM2nqCxdy3vPYEdNgHk9dwtUGzJeqj/9T7VSMV7JWRaxfoTWARM8vp3NN7U31fpESwk3hulypO+umTILIZPgnKiuqnGSX8p7eaubqwA3VgBurECdPMHBAjUYC4NBwOcw1SGKIuwyaOHOkxsNdgRWQee6ISNE3TBHPyRzaNulQjqm1CtBxo2SGaA8pVCfg0noeMlH8Uifmj5AZoIAAAAAElFTkSuQmCC";

                        return "
" + "
" + " " + "" + name + "
" + "
" + "
" + "
" + "" + projectCount + "项" + "项目数量" + "
" + "
" + "" + delayCount + "项" + "延迟完工" + "
" + "
" + "
" + "
" + "" + advanceCount + "项" + "提前完工" + "
" + "
" + "" + constructionCount + "项" + "在建" + "
" + "
" + "
" + "
"; } }, grid: { left: "8%", right: "2.5%", bottom: "7%", containLabel: false }, xAxis: { type: "category", data: this.option.xValue, splitLine: {//分割线配置 show: false }, axisLabel: { // x轴线文字的样式 textStyle: { color: "#7E9CC1", fontSize: 12 }, }, axisTick: { show: false }, axisLine: {//x轴线的颜色以及宽度 show: true, lineStyle: { color: "rgba(0, 201, 255, 0.2)", type: "solid", width: 1 } } }, yAxis: [ { type: "value", name: "项目数量:个", nameTextStyle: { // name的样式 color: "#707793", fontSize: 14 }, splitLine: {//分割线配置 show: false, }, axisTick: { // 取消刻度线上的小刻度 show: true }, axisLine: { // 取消整个刻度线 show: true, lineStyle: { color: "rgba(0, 201, 255, 0.2)", type: "solid", width: 1 } }, axisLabel: { // y轴的文字样式 textStyle: { color: "#7E9CC1", fontSize: 14 }, } }, ], series: [ { name: "项目数量", type: "bar", color: "#009D85", nameStyle: { width: 100 }, barGap: 1, // 柱子之间的间距 yAxisIndex: 0, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用 barMinWidth: "4px", // 柱子的宽度 barWidth: 8, itemStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [ { offset: 0, color: "rgba(0, 201, 255, 0)" // 0% 处的颜色 }, { offset: 1, color: "#00C9FF" // 100% 处的颜色 } ], false), barBorderRadius: [30, 30, 0, 0], } }, data: this.option.yProjectCount }, { name: "延迟完工", type: "bar", nameStyle: { width: 100 }, yAxisIndex: 0, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用 barMinWidth: "4px", // 柱子的宽度 barWidth: 8, itemStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [ { offset: 0, color: "rgba(0, 255, 254, 0)" // 0% 处的颜色 }, { offset: 1, color: "#00FFFE" // 100% 处的颜色 } ], false), barBorderRadius: [30, 30, 0, 0], } }, data: this.option.yDelayCount }, { name: "提前完工", type: "bar", nameStyle: { width: 100 }, yAxisIndex: 0, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用 barMinWidth: "4px", // 柱子的宽度 barWidth: 8, itemStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [ { offset: 0, color: "rgba(218, 51, 218, 0) " // 0% 处的颜色 }, { offset: 1, color: "#DA33DA" // 100% 处的颜色 } ], false), barBorderRadius: [30, 30, 0, 0], } }, data: this.option.yAdvanceCount }, { name: "在建", type: "bar", color: "#009D85", nameStyle: { width: 100 }, yAxisIndex: 0, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用 barMinWidth: "4px", // 柱子的宽度 barWidth: 8, itemStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [ { offset: 0, color: "rgba(255, 141, 80, 0) " // 0% 处的颜色 }, { offset: 1, color: "#FF8D50" // 100% 处的颜色 } ], false), barBorderRadius: [30, 30, 0, 0], } }, data: this.option.yConstructionCount }, ] }; } else { this.chartOption = { legend: { itemHeight: 6, itemWidth: 16, x: "right", //居右显示 inactiveColor: "rgba(0,0,0,0.3)", // 图例关闭后的颜色 textStyle: { fontSize: 14, color: "#707793", // 图例的文字颜色 padding: [3, 0, 0, 0], }, data: ["项目数量", "延迟完工", "提前完工", "在建"], }, tooltip: { trigger: "axis", axisPointer: { // 鼠标移上去时,触发后的样式 type: "shadow" }, padding: 0, borderColor: "rgba(0, 0, 0, 0)", borderWidth: 0, formatter: function (obj) { var name = obj[0].name || obj[1].name || obj[2].name || obj[3].name; var projectCount = obj.find(i => i.seriesName === "项目数量") ? obj.find(i => i.seriesName === "项目数量").value : "-"; var delayCount = obj.find(i => i.seriesName === "延迟完工") ? obj.find(i => i.seriesName === "延迟完工").value : "-"; var advanceCount = obj.find(i => i.seriesName === "提前完工") ? obj.find(i => i.seriesName === "提前完工").value : "-"; var constructionCount = obj.find(i => i.seriesName === "在建") ? obj.find(i => i.seriesName === "在建").value : "-"; // var number = obj[0].value; // var rate = obj[1].value; const lineImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHxSURBVHgB7ZpPSwJBGId/O0YSBPkJwg51jPwCldcgqIunIKVTFNi9ix6iax66JRp0qosQdCnwT6cISoJOHdw61SUMglLRad6VrQjT0sl1aB4YWN1lmWf2fWdmd8aATSLiAdxhcD5tlV7EQB4cMSytJz/+IhKbXtRqaXHkhRqYKFf8WI6YdYH4RgHqVN7GBKv4XKLyQfEjCPXwoGqUmAiiMFTF5ZpiIikmoCqis2FQHC3gNFrAabSA0ygv0Ic2KQRW4B0cggzM5yeM7G+jHdp+ArIq3+m9/m8INSJzf2eFQzM8/W7MDY9BFlIF5k8OUCyXml5D4dKzAoXAqhB4aXqNp38AMpEqQOFBpZvoJP5M8uYKty2SmHJgcXQcspAqEL08bdkL9bQAjc7dRk/mnEYLNCN2fY5d0TP9JVKT2IZ6olDu0JobEdS9JiZnpc5gbaQ/AWp1X2rnvfIEHftSceucbKQJUKv7j/awdnbccEJXLL9a50ik1VjxG6QINGr178g/PlhvXzToyaDtHKBWpBK9yP2o4l+JCAHKjfTMAjrBEJ/XORRGjwNOowWcRgs4jRZwGrHMamSgKgbyDNVqFqrCEWPoq26Blu3Vw6RNHwyhSBGM+aGWRH2zB+zdKja0b4LzsMiL3ly95zwjStaKGmp4wRu/9633ZSgvNQAAAABJRU5ErkJggg=="; return "
" + "
" + " " + "" + name + "
" + "
" + "
" + "
" + "" + projectCount + "项" + "项目数量" + "
" + "
" + "" + delayCount + "项" + "延迟完工" + "
" + "
" + "
" + "
" + "" + advanceCount + "项" + "提前完工" + "
" + "
" + "" + constructionCount + "项" + "在建" + "
" + "
" + "
" + "
"; } }, grid: { left: "8%", right: "2.5%", bottom: "7%", containLabel: false }, xAxis: { type: "category", data: this.option.xValue, splitLine: {//分割线配置 show: false }, axisLabel: { // x轴线文字的样式 textStyle: { color: "#707793", fontSize: 12 }, }, axisTick: { show: false }, axisLine: {//x轴线的颜色以及宽度 show: true, lineStyle: { color: "rgba(0, 112, 107, 0.2)", type: "solid", width: 1 } } }, yAxis: [ { type: "value", name: "项目数量:个", nameTextStyle: { // name的样式 color: "#707793", fontSize: 14 }, splitLine: {//分割线配置 show: false, }, axisTick: { // 取消刻度线上的小刻度 show: true }, axisLine: { // 取消整个刻度线 show: true, lineStyle: { color: "rgba(0, 112, 107, 0.2)", type: "solid", width: 1 } }, axisLabel: { // y轴的文字样式 textStyle: { color: "#707793", fontSize: 14 }, } }, ], series: [ { name: "项目数量", type: "bar", color: "#009D85", nameStyle: { width: 100 }, barGap: 1, // 柱子之间的间距 yAxisIndex: 0, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用 barMinWidth: "4px", // 柱子的宽度 barWidth: 8, itemStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [ { offset: 0, color: "rgba(0, 157, 133, 0)" // 0% 处的颜色 }, { offset: 1, color: "#009d85" // 100% 处的颜色 } ], false), barBorderRadius: [30, 30, 0, 0], } }, data: this.option.yProjectCount }, { name: "延迟完工", type: "bar", nameStyle: { width: 100 }, yAxisIndex: 0, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用 barMinWidth: "4px", // 柱子的宽度 barWidth: 8, itemStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [ { offset: 0, color: "rgba(0, 136, 255, 0)" // 0% 处的颜色 }, { offset: 1, color: "#0088FF" // 100% 处的颜色 } ], false), barBorderRadius: [30, 30, 0, 0], } }, data: this.option.yDelayCount }, { name: "提前完工", type: "bar", nameStyle: { width: 100 }, yAxisIndex: 0, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用 barMinWidth: "4px", // 柱子的宽度 barWidth: 8, itemStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [ { offset: 0, color: "rgba(218, 51, 218, 0) " // 0% 处的颜色 }, { offset: 1, color: "#DA33DA" // 100% 处的颜色 } ], false), barBorderRadius: [30, 30, 0, 0], } }, data: this.option.yAdvanceCount }, { name: "在建", type: "bar", color: "#009D85", nameStyle: { width: 100 }, yAxisIndex: 0, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用 barMinWidth: "4px", // 柱子的宽度 barWidth: 8, itemStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [ { offset: 0, color: "rgba(255, 141, 80, 0) " // 0% 处的颜色 }, { offset: 1, color: "#FF8D50" // 100% 处的颜色 } ], false), barBorderRadius: [30, 30, 0, 0], } }, data: this.option.yConstructionCount }, ] }; } }

案例十(自定义折线图转折点)

常用echarts示例_第10张图片

 setCharts() {

        const data1 = JSON.parse(JSON.stringify(this.option.yData1))
        const data2 = JSON.parse(JSON.stringify(this.option.yData2))
        const maxData1 = (data1.sort((a, b) => Number(b) - Number(a)))[0]
        const maxData2 = (data2.sort((a, b) => Number(b) - Number(a)))[0]

        const maxNum = Number(maxData1) > Number(maxData2) ? maxData1 : maxData2
        // 获取最大值:目的是实现折线图下面的 柱形
        const newArr = []
        for (var i = 0; i < 12; i++) {
            newArr.push(maxNum)
        }


        const blueDot = 'image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAASHSURBVHgBjVVLbBtFGP5mvLbXTtK6SEjJASkg0QZObTm1hzZFPVCCBBS10PaAQtVzAhxBinPghkiOVSkEoaTlpdBKlHJAJEGQY9MTfXDAF5SAELhJbK+96x2+f2Y3yrPqSL9nPDvzf//zG4WHjN4JU8r5GFIG/fI3EcCgCoXbiHFdhbh2d1BVdtKhttvsmzC9Jo8JLvs3HzTbnDcKn+kAo9sBbQHY94UZQhtlpVCKgxWs3PoeQeUWwqXfEf63aCFyPXvh7e5B8dkj6DowkIJWKaP3zqrxHQH6rpqyMRihctTvzOGf6Q8QB6vQSm28QY2xcWq9Ug9Kx95CZwJEb8r3z6jRLQDW8hjjsvHvD+NYmf8KWmsorSyASkBkNnFslQmIiQ3nmCDnrcQO9+3UE5XGXOWwQPRSdeYylmcnoDMaGZ0I1xbMghCACmNqarfbTggUt2N0HjqNx04M8TuqPHrg7hlV0RbPx0hM5bWFG3gw+ymt1vAyGWSzHvL5HHzfR8HPo1goUPJc+/C5L99yuZw9K0aszH+Jxp2fxeoSQSasB0nF/CF//vzoJMzy3zycQY7KreRESRZZj0p0hqGh5bQ+DENKhNa6OYoixNkinnh3GsrvQrOJPdpk8YooX6X17QdLNuZijed5VrFYmlrfUSygs6OIjoKPIr3IC3g2aw2SEIqYZo2Vd8MGhp+HPWi8LJGt/zZn4ysJtQAUAchbAB8Xzr6K0y8dtxdv/jSPscuTdi0JdrnI2FnuB5UF7Dr8BnOGox493s/kIqou2YxLIrVyHmQpeVr4zoVzODVwfK1STxFopVbHxclvEDIsrUzoqk1LSttoLt5Pj/ayNFCSVYuNJEWiEi9c1dBtun/i2GFsHuKNl1aZnJPLxtVlu7q4DmDTkCSm3aGwA5esG8pZ5bpZbT0vABXZ9ErdzgBekAaK2UxtSsS4fv3dj1sU35z5FVHyXXpCit92MkWoJBlVTwC42ZvrfhrB8l9WsTSNJCyK2rb8Ll351lZPGioBvDQ1jVbLlaZNcuy6WhhE6CMZtz1uzNHofv/J59C494uznpUR8lKGyrVW1u0PL36OsY+nbAjFAAFutlqcIybadbTcE4SOZ46kANc1z1jO6Do4AJXvtDwjlke8KAqCZgv1RhO1eoNS5zpAjVIPmggsQNJgsVOeYag7SHwuP7imK4NKaHZW+Z14/LX3bTwND0psxTIBabAlRelqnVITkAYa/N8MWi5MNkSOn0rPn3eEyzdijYuINMhFtUjXug69TnedF6ENQ4iA1taDIFEs3gTWMwEPkxyIB7uFtvcPWLKjvtGksNzYd8UMcxqTDWFUIb0N/aATuk4qRRQaW20uZ7vIpHteGE4fn410nY6+KVPmzoishZuqM5/YDrf1nLwJJlVhK9PAhvbkeyj0HXVlbvh0nlPlVOfWJ3OSnmi+akK5CVCdFBzxuWwJBRBEeibXvRf+Uwf5kr0ITebEozyZa55cNb00p0yAN/EIg0pm+TMoSd3m285DgEybdE7GFVJMeYujIsJwzLGQxpNK3Hb8D6czZp83fPTeAAAAAElFTkSuQmCC'
        const yellowDot = 'image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAShSURBVHgBjVVbaFxVFF3n3Mc8EupUFCRCOj7AgFgV/eqHRigl0prGj/qhFulHERRpLBa0Ck3wCQY7P4XaCi229UfRtE1JFdE0oPilNX60BYuTKFXRkmvNzNy5r+Pe55yJYyYJXthzz517z15r7732PgKrXGq4vwS3exct+yFUGUqU7auA7Dx9cRJJOi4qZ6sr+RDLOx4ow3WPaMf/+VQt70Wpo0jT0eWAOgDUnsFdUNkIhCgFUYZjsyGm/4zxw7UE1VqmQdZf52Jd0cFgTw7b1+UZwEalRsXYmcqKAOqFLSN020fOcepKE09/u4AgVpBCdASSGacEJPFyX7EdaESMTYx2AFjmFXa+Z6aGA5cbkFJCSKEBhAXhu8oynSwGUZmie4a9BPIKmQFRz7ciEf/m3PuOnkqvXajhzUshpCPhSGu01mAahADIYUaO0zQ1Rk6zNMMzt+bw9vpu9hjAce8Vb41XpablOPvozxLn+41LDWIt4ToOPM9FLucjn8+jkM+hWCiQ5WidR57+53e+7+tvmcSByyFO/9rkFJaQJEd0BFYxP/FD32fz+CVkPAc+OdfmsxMPnktOpEN7iTmxj+OYLEHUdk+SBN1S4eLA9Si5FG2ysJaoekPs/NhciLlGpnPObFzX1Y6ZaYt9V7GA7q4iugp5FCmKHIN7nibEKWT7KyFf1dAU1u0edimerZzXU1cinV8uqAYgY4CcBshj5+OP4rEtG/W+yS++xv73jus1F9jUwtF33j99NcZztxf49YMuRXwPJQqztVRXnAsphYnAI8sRw907n8C2zRsXlbqNgP6u1XHw+EeIKS2RExu1SS5piu/nE6tRUZasHF7PXEtZofRoojCqobAp/Icf2oClF0fjtlTG3/FmZXQ510it9lVZLt3IRWx1h8AKs6TtEoaVGSKi83uiqaq84I5UdgM3UEbNlJIllNcPJz7vcDz55VdI7HvuCW4w3WJkd9MosVdANRAMUL6L/vz591g75qbhgiVJquV36INPtHpaqWLAQyc+RhQZaeoiZ6aruZF7i4uJOc9Q58j6+2/wcea32LAnZcS0ySHnUgod9tjB97H/8AmdQibAwM0oontChTYdzfsYYbAn30r4SWq0IZr5yXwQU6N9ehULmbCN5plOtlrXjUbSZSWkBKDVQyAcBVtsI7k5B1zctNb4T5JbpKiM8+ExVfKAw/et0flUxIJzy8yYZaPZRK0RYqFORvKsNxpo0HMzjEyadIrMfOLJahV0lM8HaZF2ELXgkR4fz95W0Aw5/7FOQ4wwbKIehtYxgRFQ2Iw0eIs5125vXwHbe3lsi4APIHbt8M/oNz8GIxvu4Ck1sOkmXyth+o9IR8LGBcysYlLLVheXlZYatTGxV+/sMjoS6iXxzuRZq9y2Hmg7cHiyvn6hjtlGZvRszwTVOja1MhVYke/evwaDRMx2A51qEyOLfYIll9q9eZiko8c3P/MQPE1zqlpPMRMkusjcM6z1B2708WSvj5LHmaa0IFv9yFwEeXGoTMmlcxlP4f9dUzS8dvABs/TFqpPAnBUOjXOx1QxFM7d095sGPUczvyIqU8FKPv4BCldzp6WB71UAAAAASUVORK5CYII='
        this.chartOption = {
            legend: {
                orient: 'vertical',// 竖直排列
                itemHeight: 6, // 图例的高度
                itemWidth: 16, // 图例的宽度
                x: "right", //居右显示
                inactiveColor: "rgba(0,0,0,0.3)",// 图例关闭后的颜色
                textStyle: {
                    fontSize: 12,
                    color: "#A1D1EF", // 图例的文字颜色
                    padding: [0, 0, 0, 0],
                },
                top: '0%',
                selectedMode: false,
                data: this.option.leged,
                icon: "stack", // 将折线的图例改成矩形
            },
            tooltip: {
                trigger: "axis",
                axisPointer: { // 鼠标移上去时,触发后的样式
                    type: "shadow"
                },
                formatter: function (e) {
                    const arr = e.filter(i => i.componentSubType == 'line')
                    if (arr.length === 2) {
                        var str =
                            arr[0].axisValue +
                            "
" + "" + "" + arr[0].seriesName + " : " + arr[0].value + "
" + "" + "" + arr[1].seriesName + " : " + arr[1].value; return str; } if (arr.length === 1) { var stt = arr[0].axisValue + "
" + "" + "" + arr[0].seriesName + " : " + arr[0].value; return stt; } } }, grid: { left: "0%", right: "0%", bottom: "3%", top: '35%', containLabel: true }, xAxis: { type: "category", // data: yearList, data: this.option.xData, splitLine: {//分割线配置 show: false }, axisLabel: { // x轴线文字的样式 interval: 0, textStyle: { color: "#A1D1EF", fontSize: 12 }, }, axisTick: { show: false }, axisLine: {//x轴线的颜色以及宽度 show: false, lineStyle: { color: "rgba(39, 166, 255, 0.5)", type: "solid", width: 1 } } }, yAxis: [ { type: "value", name: this.option.unit, // splitNumber:5 , // y轴坐标刻度分隔 nameTextStyle: { // name的样式 color: "#6699C1", align: 'left', padding: [0, 0, 0, -25] }, axisTick: { // 取消刻度线上的小刻度 show: false }, axisLine: { // 取消整个刻度线 show: false }, splitLine: { show: false, lineStyle: { color: "#27A6FF", opacity: 0.3, type: "dashed", }, }, axisLabel: { textStyle: { color: "#A1D1EF", }, }, }, ], series: [ { type: "line", name: this.option.leged[0], smooth: false, // 平滑的折线 showAllSymbol: true, //显示所有图形。 symbol: yellowDot, symbolSize: 12, //标记的大小 itemStyle: { normal: { color: "#ff744c", //改变折线点的颜色 lineStyle: { color: "#ff744c", //改变折线颜色 type: "solid" } } }, toolbox: { show: false, }, data: this.option.yData1, }, { type: "line", name: this.option.leged[1], smooth: false, // 平滑的折线 showAllSymbol: true, //显示所有图形。 symbol: blueDot, symbolSize: 12, //标记的大小 itemStyle: { normal: { color: "#27A6FF", //改变折线点的颜色 lineStyle: { color: "#27A6FF", //改变折线颜色 type: "solid" } } }, toolbox: { show: false, }, data: this.option.yData2, }, { name: '柱子', type: 'bar', barGap: '-100%', barWidth: 28, label: { normal: { color: '#00f3fb' } }, itemStyle: { normal: { color: '#05243c', } }, z: -12, data: newArr } ], }; }

 案例十一(自定义柱状图顶部的圆形)

常用echarts示例_第11张图片

  setCharts() {
        const yellowDot = 'image://data:image/png;base64,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'
        const blueDot = 'image://data:image/png;base64,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'
        this.chartOption = {
            legend: {
                itemHeight: 6,
                itemWidth: 16,
                x: "center", //居右显示
                inactiveColor: "rgba(0,0,0,0.9)", // 图例关闭后的颜色
                icon: "stack", // 将折线的图例改成矩形
                textStyle: {
                    fontSize: 14,
                    color: "#A1D1EF", // 图例的文字颜色
                    padding: [3, 0, 0, 0],
                },
                selectedMode: false,
                data: this.option.leged
            },
            tooltip: {
                trigger: "axis",
                axisPointer: { // 鼠标移上去时,触发后的样式
                    type: "shadow"
                },
                formatter: function (e) {
                    if (e.length === 4) {
                        var str =
                            e[0].axisValue +
                            "
" + "" + "" + e[0].seriesName + " : " + e[0].value + "
" + "" + "" + e[2].seriesName + " : " + e[2].value; return str; } if (e.length === 2) { var stt = e[0].axisValue + "
" + "" + "" + e[0].seriesName + " : " + e[0].value ; return stt; } } }, grid: { left: "2%", right: "2.5%", bottom: "7%", containLabel: true }, xAxis: { type: "category", data: this.option.xData, splitLine: {//分割线配置 show: false }, axisLabel: { // x轴线文字的样式 interval: 0, // x轴坐标完全展示 textStyle: { color: "#A1D1EF", fontSize: 12 }, }, axisTick: { show: false }, axisLine: {//x轴线的颜色以及宽度 show: true, lineStyle: { color: "#27A6FF", type: "solid", width: 1 } } }, yAxis: [ { type: "value", name: this.option.unit, nameTextStyle: { // name的样式 color: "#6699C1", fontSize: 14 }, splitLine: {//分割线配置 show: true, lineStyle: { color: "#09304d", type: "dashed", width: 1 } }, axisTick: { // 取消刻度线上的小刻度 show: false }, axisLine: { // 取消整个刻度线 show: false, lineStyle: { color: "rgba(0, 201, 255, 0.2)", type: "dashed", width: 1 } }, axisLabel: { // y轴的文字样式 textStyle: { color: "#A1D1EF", fontSize: 12 }, } }, ], series: [ { name: this.option.leged[0], type: "bar", nameStyle: { width: 100 }, color: '#27a6ff', barGap: 3, // 柱子之间的间距 yAxisIndex: 0, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用 barMinWidth: "4px", // 柱子的宽度 barWidth: 2, itemStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [ { offset: 0, color: "rgba(39, 166, 255, 0)" // 0% 处的颜色 }, { offset: 1, color: "#27A6FF" // 100% 处的颜色 } ], false), barBorderRadius: [30, 30, 0, 0], } }, data: this.option.yData1 }, // 头部的小球 { name: this.option.leged[0], type: 'pictorialBar', symbol: blueDot, // symbol: "diamond", symbolSize: [21, 21], symbolOffset: [-8, -10], symbolPosition: "end", z: 12, data: this.option.yData1 }, { name: this.option.leged[1], type: "bar", color: "#ff744c", nameStyle: { width: 100 }, barGap: 3, // 柱子之间的间距 yAxisIndex: 0, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用 barMinWidth: "4px", // 柱子的宽度 barWidth: 2, itemStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [ { offset: 0, color: "rgba(255, 116, 76, 0)" // 0% 处的颜色 }, { offset: 1, color: "#FF744C" // 100% 处的颜色 } ], false), barBorderRadius: [30, 30, 0, 0], } }, data: this.option.yData2 }, // 头部的小球 { name: this.option.leged[1], type: 'pictorialBar', symbol: yellowDot, // symbol: "diamond", symbolSize: [34, 34], symbolOffset: [8, -15], symbolPosition: "end", z: 12, data: this.option.yData2 }, ] }; }

案例十二
常用echarts示例_第12张图片

   setCharts() {


        // 黄色部分 堆叠的数据
        const splitBar2Value = [];

        for (let i = 0; i < this.option.barData2.length; i++) {
            splitBar2Value.push(this.option.barData1[i] + this.option.barData2[i]);
        }
        this.chartOption = {
            legend: {
                icon: "stack", // 将折线的图例改成矩形
                itemHeight: 6,
                itemWidth: 16,
                x: "center", //居右显示
                top: '8%',
                inactiveColor: "rgba(0,0,0,0.3)",// 图例关闭后的颜色
                textStyle: {
                    fontSize: 12,
                    color: "#B5ECF9", // 图例的文字颜色
                    padding: [0, 0, 0, 0],
                },
                selectedMode: false, // 点击图例不可以取消
                data: this.option.legend,
            },
            tooltip: {
                trigger: "axis",
                axisPointer: { // 鼠标移上去时,触发后的样式
                    type: "shadow"
                },
                formatter: function (e) {
                    console.log(e);
                    const showTool = e.filter(i => (i.componentSubType == 'bar' || i.componentSubType == 'line'))
                    console.log(showTool, '789');
                    if (showTool.length === 3) {
                        const str =
                            showTool[0].axisValue +
                            "
" + "" + "" + showTool[0].seriesName + " : " + showTool[0].value + "
" + "" + "" + showTool[1].seriesName + " : " + showTool[1].value + "
" + "" + "" + showTool[2].seriesName + " : " + showTool[2].value; return str; } if (showTool.length === 2) { const stt = showTool[0].axisValue + "
" + "" + "" + showTool[0].seriesName + " : " + showTool[0].value + "
" + "" + "" + showTool[1].seriesName + " : " + showTool[1].value; return stt; } if (showTool.length === 1) { const stg = showTool[0].axisValue + "
" + "" + "" + showTool[0].seriesName + " : " + showTool[0].value; return stg; } } }, grid: { left: "3.5%", right: "2%", bottom: "3%", top: '30%', containLabel: true }, xAxis: { type: "category", // data: yearList, data: this.option.xData, splitLine: {//分割线配置 show: false }, axisLabel: { // x轴线文字的样式 textStyle: { color: "#59A6B7", fontSize: 12 }, }, axisTick: { show: false }, axisLine: {//x轴线的颜色以及宽度 show: true, lineStyle: { color: "#053c45", type: "solid", width: 1 } } }, yAxis: [ { type: "value", name: this.option.unit1, nameTextStyle: { // name的样式 color: "#B5ECF9" }, splitLine: {//分割线配置 show: false, lineStyle: { color: "#3AB2B4", type: "solid", width: 0 } }, axisTick: { // 取消刻度线上的小刻度 show: false }, axisLine: { // 取消整个刻度线 show: false }, axisLabel: { // y轴的文字样式 textStyle: { color: "#59A6B7" }, } }, { type: "value", name: this.option.unit2, nameTextStyle: { color: "#B5ECF9", padding: [0, 10, 0, 0] }, position: "right", splitLine: {//分割线配置 show: false, lineStyle: { color: "rgba(0, 112, 107, 0.1)" } }, axisTick: { // 取消刻度线上的小刻度 show: false }, axisLine: { // 取消整个刻度线 show: false }, axisLabel: { show: true, textStyle: { color: "#59A6B7" }, } }, { type: "value", gridIndex: 0, min: 50, max: 100, splitNumber: 8, splitLine: { show: false }, axisLine: { show: false, }, axisTick: { show: false }, axisLabel: { show: false }, splitArea: { show: true, areaStyle: { color: ["rgba(250,250,250,0.0)", "rgba(250,250,250,0.02)"] } } } ], series: [ { name: this.option.legend[0], type: "bar", color: "#0CD5F0", // stack设置柱状图堆叠,stack后面要跟同样的名字 stack: "Search Engine", nameStyle: { width: 100 }, yAxisIndex: 0, //使用的 y 轴的 左侧的单位,在单个图表实例中存在多个 y轴的时候有用 barWidth: "14px", // 柱子的宽度 itemStyle: { normal: { lineStyle: { width: 3 } } }, data: this.option.barData1 }, { // 分隔 name: this.option.legend[0], type: "pictorialBar", itemStyle: { // 格子之间的距离的颜色 normal: { color: "#011419" } }, stack: "a", symbolRepeat: "fixed", symbolMargin: 2,// 每个小格子的上下之间距离 symbol: "rect", symbolClip: true, symbolSize: [14, 2],//每个分割的格子的大小 symbolPosition: "start", // symbolOffset: [1, 1], data: this.option.barData1, width: 8, zlevel: 1 }, // yAxisIndex: 0, 因为处理数和预警数在一起 所以将这两个的值设置为同一个,这样 处理数和预警数会同时使用左侧的 y轴的坐标 { name: this.option.legend[1], type: "bar", // stack设置柱状图堆叠,stack后面要跟同样的名字 stack: "Search Engine", color: "#FF850B", barWidth: "12px", // 柱子的宽度 yAxisIndex: 0, //使用的 y 轴的 左侧的单位,在单个图表实例中存在多个 y轴的时候有用 showAllSymbol: true, //显示所有图形。 itemStyle: { normal: { barBorderRadius: [2, 2, 2, 2], lineStyle: { width: 3 } } }, data: this.option.barData2 }, { // 分隔 type: "pictorialBar", itemStyle: { // 格子之间的距离的颜色 normal: { color: "#011419" } }, stack: "a", symbolRepeat: "fixed", symbolMargin: 2,// 每个小格子的上下之间距离 symbol: "rect", symbolClip: true, symbolSize: [14, 2], //每个分割的格子的大小 symbolPosition: "end", // symbolOffset: [1, 1], data: splitBar2Value, width: 8, zlevel: 1 }, { name: this.option.legend[2], type: "line", color: "#F54628", yAxisIndex: 1, //使用的 y 轴的右侧的单位,在单个图表实例中存在多个 y轴的时候有用 showAllSymbol: true, //显示所有图形。 smooth: false, //平滑曲线显示 symbol: "circle", symbolSize: 4, //标记的大小 itemStyle: { normal: { lineStyle: { width: 1 } } }, z: 4, data: this.option.lineData }, ] }; }

案例十三(饼图)

常用echarts示例_第13张图片

 setCharts() {
        const dataList = [
            {
                value: 75,
                show: true,
                name: '生物质烘干',
                itemStyle: {
                    normal: {
                        borderWidth: 10,
                        color: 'rgba(255, 255, 102, 1)',
                        borderColor: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
                            {
                                offset: 0,
                                color: '#303c27'
                            },
                            {
                                offset: 0.5,
                                color: 'rgba(255, 255, 102, 1)'
                            },
                            {
                                offset: 1,
                                color: '#303c27'
                            }
                        ])
                    }
                }
            },
            // 圆环之间的间隔
            {
                value: 20,
                show: false,
                name: '',
                itemStyle: {
                    normal: {
                        color: 'transparent'
                    }
                }
            },
            {
                value: 90,
                show: true,
                name: '空气源热泵烘干',
                itemStyle: {
                    normal: {
                        borderWidth: 10,
                        color: 'rgba(24, 248, 195, 1)',
                        borderColor: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
                            {
                                offset: 0,
                                color: '#0c574a'
                            },
                            {
                                offset: 0.5,
                                color: 'rgba(24, 248, 195, 1)'
                            },
                            {
                                offset: 1,
                                color: '#0c574a'
                            }
                        ])
                    }
                }
            },
            // 圆环之间的间隔
            {
                value: 20,
                show: false,
                name: '',
                itemStyle: {
                    normal: {
                        color: 'transparent'
                    }
                }
            },
            {
                value: 130,
                show: true,
                name: '直热电烘',
                itemStyle: {
                    normal: {
                        borderWidth: 10,
                        color: 'rgba(12, 213, 240, 1)',
                        borderColor: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
                            {
                                offset: 0,
                                color: '#044a54'
                            },
                            {
                                offset: 0.5,
                                color: 'rgba(12, 213, 240, 1)'
                            },
                            {
                                offset: 1,
                                color: '#044a54'
                            }
                        ])
                    }
                }
            },
            // 圆环之间的间隔
            {
                value: 20,
                show: false,
                name: '',
                itemStyle: {
                    normal: {
                        color: 'transparent'
                    }
                }
            },
        ]




        this.chartOption = {
            // title: this.option.title,
            "title": {
                "text": "5000",
                "subtext": "年度电烘干总\n容量(kW)",
                x: "center",
                y: '30%',
                textStyle: {
                    color: '#fff',
                    fontSize: '28'
                },
                subtextStyle: {
                    color: '#B5ECF9',
                    fontSize: '14',

                },
            },

            series: [
                {
                    name: '',
                    type: 'pie',
                    clockWise: false,
                    startAngle: '90',
                    center: ['50%', '50%'],
                    radius: ['60%', '61%'],
                    hoverAnimation: false,
                    itemStyle: {
                        normal: {
                            label: {
                                show: true,
                                position: 'outside',
                                color: '#fff',
                                formatter: function (params: any) {
                                    let percent: number | any = 0;
                                    let total = 0;
                                    for (let i = 0; i < dataList.length; i++) {
                                        total += dataList[i].value;
                                    }
                                    percent = ((params.value / total) * 100).toFixed(0);
                                    if (params.name !== '') {
                                        return ' {title|' + params.name + '}' + '\n{white|' + params.value + '}' + '\n{white|' + '占比' + percent + '%}';
                                    } else {
                                        return '';
                                    }
                                },
                                rich: {
                                    white: {
                                        color: '#ddd',
                                        align: 'left',
                                        padding: [3, 0]
                                    },
                                    title: {
                                        color: '#B5ECF9',
                                        align: 'left',
                                    }
                                }
                            },
                            labelLine: {
                                length: 10,
                                length2: 20,
                                show: true,
                            }
                        }
                    },
                    data: dataList,
                    animationType: 'scale',
                    animationEasing: 'elasticOut',
                    animationDelay: function (idx) {
                        return idx * 50;
                    }
                },
                // {
                //     name: '',
                //     type: 'pie',
                //     center: ['50%', '50%'],
                //     radius: ['49%', '49%'],
                //     itemStyle: {
                //         color: 'transparant'
                //     },
                //     startAngle: '90',
                //     data: [{
                //         value: total,
                //         name: '',
                //         label: {
                //             normal: {
                //                 show: true,
                //                 formatter: '{c|{c}} {b|条记录}',
                //                 rich: {
                //                     c: {
                //                         color: 'rgb(98,137,169)',
                //                         fontSize: 50,
                //                         fontWeight: 'bold',
                //                         lineHeight: 5
                //                     },
                //                     b: {
                //                         color: 'rgb(98,137,169)',
                //                         fontSize: 40,
                //                         lineHeight: 5
                //                     }
                //                 },
                //                 textStyle: {
                //                     fontSize: 28,
                //                     fontWeight: 'bold'
                //                 },
                //                 position: 'center'
                //             }
                //         }
                //     }]
                // }
            ]
        };
    }

案例十四:(折线图设置markLine和自定义的markPoint)

常用echarts示例_第14张图片

  setCharts() {



        const orangePoint = 'image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKPSURBVHgBfVM7aBRRFD33zezs7Mxs9qMoUTRgaxVT2KcwdloKlhYWAUEIxMiC4ydGBe1sBO00RSoRGxvbFEoUsTAQCzUGzWY/2d3Z2Zmdd727a6LExFfed89555x7H7Dj8JwzxgxiH4pvuS941ptn31cMqd11Du3sp20gM+GOdw6axhHTDFynDZ2o/mW+nKCRddDhS2B8o1Lj0Rb0D4G8Aut+AZ1GDMvNQJsOHJ1CRy6jOAKyIYpJgEpQxMfwKy0g2Sbg295FJMYrmPUaWnYeriqKkiJIZZD0+iiAyVVAbwDpOlgraH2KSq15k33xxTiMRr2MbG4/nEh88qiAJsHJCBRlxN8SEvVEUlkCiaROWIHljfNcbpl64cDP7kNeG6iZR2DEJ6FwT8rOjrwCME0jpRdRxyo81cXVRnkQ0jEJrJ1kkO7mQXRhF3DvOKJgEpFYU9pGLtOGT6Rw032GldiQhC1E7IqeUex1GCMyTHkoZaG5TjDd50oAHpwKw5IGw+h1tbH3yUAZEnz0ewmoqVBqncHwQY2EYpAOpPrlPwokxKgJ2BGUYOKp80roND4HwhwG4rEiBA+lM9gFHYj8x4iNKpJ6Gy0Z8TWfDRnFmIRyBVnvJWoRCUlTRvdBEh8We8MDS7QiDLNC8E5G+hOFoU1E7ctYHPpk0kz9Ld+wX6NJKbhhDR2bkaJQdC3LIrmDx3VL5FeheQNJWMWmXZDqKk2Xvw82sfcPrhMhbR9F6FRkWRwYMlaw1SewxTN3RXYrQDqbwtLpGi0s9FdZDcIkJl/e7JoTsKIpKXdxoPADXXcNuc4aHGsdgdRS7gNRM7EF7mP/iaq32n6wBl/uUkNPZZ09vG+dxXExYTonqBS8+bv/F/I5GZ4SzNdTAAAAAElFTkSuQmCC'
        const bluePoint = 'image://data:image/png;base64,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'
        const newArrLine1: any[] = [];
        (this.option.lineData1).map(function (val: any) {
            newArrLine1.push(val);
        })
        // 根据y轴的最大值的索引,找到x轴对应的值
        const maxLineData1Index = this.option.lineData1.indexOf((newArrLine1).sort((a: number, b: number) => Number(b) - Number(a))[0])


        const newArrLine2: any[] = [];
        // 根据y轴的最大值的索引,找到x轴对应的值
        (this.option.lineData2).map(function (val: any) {
            newArrLine2.push(val);
        })

        const maxLineData2Index = this.option.lineData2.indexOf((newArrLine2).sort((a: number, b: number) => Number(b) - Number(a))[0])
        this.chartOption = {
            legend: {
                icon: "stack", // 将折线的图例改成矩形
                itemHeight: 6, // 图例的高度
                itemWidth: 16, // 图例的宽度
                x: "center", //居右显示
                y: '10%',
                inactiveColor: "rgba(0,0,0,0.3)",// 图例关闭后的颜色
                textStyle: {
                    fontSize: 12,
                    color: "#B5ECF9", // 图例的文字颜色
                    padding: [30, 0, 0, 0],
                },
                selectedMode: false, // 点击图例不可以取消
                data: this.option.legend,
            },
            tooltip: {
                trigger: "axis",

            },
            grid: {
                left: "0%",
                right: "0%",
                bottom: "3%",
                containLabel: true
            },
            xAxis: {
                type: "category",
                // data: yearList,
                data: this.option.xData,
                splitLine: {//分割线配置
                    show: false
                },
                axisLabel: {  // x轴线文字的样式
                    textStyle: {
                        color: "#59A6B7",
                        fontSize: 12
                    },
                },
                axisTick: {
                    show: false
                },
                axisLine: {//x轴线的颜色以及宽度
                    show: true,
                    lineStyle: {
                        color: "#055f6c",
                        type: "solid",
                        width: 1
                    }
                }
            },
            yAxis: [
                {
                    type: "value",
                    name: this.option.unit1,
                    splitNumber: 5,
                    nameTextStyle: { // name的样式
                        color: "#B5ECF9"
                    },

                    axisTick: { // 取消刻度线上的小刻度
                        show: false
                    },
                    axisLine: { // 取消整个刻度线
                        show: false
                    },

                    splitLine: {
                        show: false,
                        lineStyle: {
                            color: "#59A6B7",
                            opacity: 0.3,
                            type: "dashed",
                        },
                    },
                    axisLabel: {
                        textStyle: {
                            color: "#59A6B7",
                        },
                    },
                },
                {
                    type: "value",
                    name: this.option.unit2,
                    splitNumber: 5,
                    nameTextStyle: { // name的样式
                        color: "#B5ECF9",
                        padding: [0, 10, 0, -10]
                    },

                    axisTick: { // 取消刻度线上的小刻度
                        show: false
                    },
                    axisLine: { // 取消整个刻度线
                        show: false
                    },

                    splitLine: {
                        show: false,
                        lineStyle: {
                            color: "#3AB2B4",
                            opacity: 0.3,
                            type: "solid",
                        },
                    },
                    axisLabel: {
                        textStyle: {
                            color: "#59A6B7",
                        },
                    },
                },
                {
                    type: "value",
                    gridIndex: 0,
                    min: 50,
                    max: 100,
                    splitNumber: 8,
                    splitLine: {
                        show: true,
                        lineStyle: {
                            color: "#3AB2B4",
                            opacity: 0.3,
                            type: "dashed",
                        },
                    },
                    axisLine: {
                        show: false
                    },
                    axisTick: {
                        show: false
                    },
                    axisLabel: {
                        show: false
                    },
                    splitArea: {
                        show: false,
                        areaStyle: {
                            color: ["rgba(250,250,250,0.0)", "rgba(250,250,250,0.05)"]
                        }
                    }
                }

            ],
            series: [
                {
                    type: "line",
                    symbol: "none", // 不展示折线的圆点
                    name: this.option.legend[0],
                    smooth: true, // 平滑的折线
                    itemStyle: {
                        normal: {
                            color: "#ff9f48", //改变折线点的颜色
                            lineStyle: {
                                color: "#ff9f48", //改变折线颜色
                                type: "solid"
                            }
                        }
                    },
                    areaStyle: {
                        //折线图颜色半透明
                        color: {
                            type: "linear",
                            x: 0,
                            y: 0,
                            x2: 0,
                            y2: 1,
                            colorStops: [{
                                offset: 0, color: "rgba(255, 159, 72, 0.5)" // 0% 处的颜色
                            }, {
                                offset: 1, color: "rgba(255, 159, 72, 0)" // 100% 处的颜色
                            }],
                            global: false // 缺省为 false
                        }
                    },
                    toolbox: {
                        show: false,
                    },
                    data: this.option.lineData1,
                    yAxisIndex: 0,
                    // 标注最大点
                    markPoint: {
                        symbol: orangePoint,
                        symbolSize: 14,
                        label: {
                            show: true,
                            normal: {
                                offset: [0, 5],
                                position: 'top',
                                textStyle: {
                                    color: '#ff850b'
                                }
                            }
                        },
                        data: [
                            {
                                type: 'max',
                                name: '最大值',
                            },
                        ]
                    },
                    markLine: {
                        lineStyle: {
                            normal: {
                                type: 'dashed',
                                color: '#dc9247'
                            }
                        },
                        symbol: 'circle',
                        symbolSize: 0,
                        animationDuration: 1000,
                        label: {
                            show: false,
                            position: 'middle',
                            formatter: '{b}:{c}'
                        },
                        data: [
                            { xAxis: this.option.xData[maxLineData1Index] }
                            // { type: 'min', name: '平均值', valueIndex: 0 },
                            // { type: 'max', name: '平均值', valueIndex: 1 }
                            // { xAxis: 170 }
                        ]
                    },
                },
                {
                    type: "line",
                    symbol: "none", // 不展示折线的圆点
                    name: this.option.legend[1],
                    smooth: true, // 平滑的折线
                    yAxisIndex: 1,
                    itemStyle: {
                        normal: {
                            color: "#4fe2cf", //改变折线点的颜色
                            lineStyle: {
                                color: "#4fe2cf", //改变折线颜色
                                type: "solid"
                            }
                        }
                    },
                    areaStyle: { // 折线下的区域颜色
                        //折线图颜色半透明
                        color: {
                            type: "linear",
                            x: 0,
                            y: 0,
                            x2: 0,
                            y2: 1,
                            colorStops: [{
                                offset: 0, color: "rgba(79, 226, 207, 0.5)" // 0% 处的颜色
                            }, {
                                offset: 1, color: "rgba(79, 226, 207,0)" // 100% 处的颜色
                            }],
                            global: false // 缺省为 false
                        }
                    },
                    toolbox: {
                        show: false,
                    },
                    data: this.option.lineData2,
                    // 标注最大点
                    markPoint: {
                        symbol: bluePoint,
                        symbolSize: 14,
                        label: {
                            show: true,
                            normal: {
                                offset: [0, 5],
                                position: 'top',
                                textStyle: {
                                    color: '#0cd5f0'
                                }
                            }
                        },
                        data: [
                            {
                                type: 'max',
                                name: '最大值',
                            },
                        ]
                    },
                    markLine: {
                        lineStyle: {
                            normal: {
                                type: 'dashed',
                                color: '#0cd5f0'
                            }
                        },
                        animationDuration: 1000,
                        symbol: 'circle',
                        symbolSize: 0,
                        label: {
                            show: false,
                            position: 'middle',
                            formatter: '{b}:{c}'
                        },
                        data: [
                            // { type: 'max', name: '平均值', valueIndex: 1 },
                            // { type: 'max', name: '平均值', valueIndex: 1 }
                            { xAxis: this.option.xData[maxLineData2Index] }
                        ]
                    },
                },


            ],
        };
    }

 

你可能感兴趣的:(element,echarts,echarts,javascript,ecmascript)