iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Vue echart如何实现柱状图,电池图,3D柱图和3D圆柱图
  • 950
分享到

Vue echart如何实现柱状图,电池图,3D柱图和3D圆柱图

2023-06-28 23:06:30 950人浏览 安东尼
摘要

这篇文章主要为大家展示了“Vue echart如何实现柱状图,电池图,3D柱图和3D圆柱图”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue echart如何实现柱状图,电

这篇文章主要为大家展示了“Vue echart如何实现柱状图,电池图,3D柱图和3D圆柱图”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue echart如何实现柱状图,电池图,3D柱图和3D圆柱图”这篇文章吧。

电池图

Vue echart如何实现柱状图,电池图,3D柱图和3D圆柱图

let backgroundColor = 'rgba(0,0,0,1)';let chartdata = [    [111, 222, 333, 444],    ['石油', '煤矿', '汽油', '电力'],];var getmydmc = chartdata[1]; //数据点名称var getmyd = chartdata[0]; //收入金额var getmydzd = [];let big = 0;getmyd.forEach((el) => {    if (!(el === undefined || el === '')) {        if (big < Number(el)) {            big = Number(el);        }    }});for (let i = 0; i < getmyd.length; i++) {    getmydzd.push(big * 4);}//计算最大值function calMax(arr) {    let max = 0;    arr.forEach((el) => {        el.forEach((el1) => {            if (!(el1 === undefined || el1 === '')) {                if (max < Number(el1)) {                    max = Number(el1);                }            }        });    });    let maxint = Math.ceil(max / 9.5);    //不让最高的值超过最上面的刻度    let maxval = maxint * 10;    //让显示的刻度是整数    return maxval;}var max = Math.ceil(calMax([getmyd]) / 10) * 10;option = {    backgroundColor: backgroundColor,    grid: {        left: '3%',        right: '13%',        bottom: '10%',        top: '10%',        containLabel: true,    },    tooltip: {        fORMatter: (params) => {            if (params.name !== '') {                return params.name+ ' : ' + getmyd[params.dataIndex];            }        },        textStyle: {            align: 'left',        },    },    xAxis: [        {            type: 'value',            axisLabel: {                margin: 5,                color: '#fff',                formatter: function (val) {                    return val + '';                },                textStyle: {                    fontSize: '13',                },            },            min: 0,            max: max, // 计算最大值            interval: max / 5, //  平均分为5份            splitNumber: 5,            splitLine: {                show: false,                lineStyle: {                    color: '#fff',                },            },            axisLine: {                show: true,                lineStyle: {                    color: '#fff',                    width: 1,                    opacity: 0.3,                },            },            axisTick: {                show: false,            },        },        {            type: 'value',            axisLabel: {                show: false,            },            min: 0,            max: max, // 计算最大值            interval: max / 10, //  平均分为5份            splitNumber: 10,            splitLine: {                show: false,                lineStyle: {                    type: 'dashed',                    color: '#D8D8D8',                },            },            axisLine: {                show: false,                lineStyle: {                    color: '#fff',                },            },            axisTick: {                show: false,            },        },    ],    yAxis: [        {            type: 'cateGory',            inverse: true,            //  boundaryGap:true,            axisLabel: {                formatter: (value, index) => {                    if (value.length >= 12) {                        value = value.slice(0, 12) + `\n` + value.slice(12);                    }                    if (value.length >= 26) {                        value = value.slice(0, 26) + `\n` + value.slice(26);                    }                    return value;                },                textStyle: {                    color: 'rgba(255,255,255,0.8)',                    fontSize: '12',                    align: 'right',                    lineHeight: 18,                },            },            splitLine: {                show: false,            },            axisTick: {                show: false,            },            axisLine: {                lineStyle: {                    color: '#fff',                    width: 1,                    opacity: 0.3,                },            },            data: getmydmc,        },    ],    dataZoom: [        {            type: 'inside',            show: true,            height: 15,            start: 1,            end: 100,            orient: 'vertical',            zlevel: 66,        },    ],    series: [        {            name: '值',            type: 'bar',            // zlevel: 1,            xAxisIndex: 0,            itemStyle: {                normal: {                    // barBorderRadius: [0, 5, 5, 0],                    color: {                        colorStops: [                            {                                offset: 0,                                color: '#40cbe8', // 0% 处的颜色                            },                            {                                offset: 1,                                color: '#3afbc2', // 100% 处的颜色                            },                        ],                    },                },            },            barWidth: 15,            data: getmyd,            z: 0,        },        {            // 分隔            type: 'pictorialBar',            itemStyle: {                normal: {                    color: '#022539',                },            },            symbolRepeat: 'fixed',            symbolMargin: 4,            symbol: 'rect',            symbolClip: true,            symbolSize: [2, 15],            symbolPosition: 'start',            symbolOffset: [-1, 0],            data: getmydzd,            z: 66,            animationEasing: 'elasticOut',        },        {            name: '背景',            type: 'bar',            barWidth: 15,            barGap: '-100%',            xAxisIndex: 1,            data: getmydzd,            itemStyle: {                normal: {                    color: {                        colorStops: [                            {                                offset: 0,                                color: 'rgba(24,144,255,0.3)', // 0% 处的颜色                            },                            {                                offset: 1,                                color: 'rgba(99,180,255,0.3)', // 100% 处的颜色                            },                        ],                    },                },            },            z: 0,        },        {            // 外边框            type: 'pictorialBar',            symbol: 'rect',            itemStyle: {                normal: {                    color: 'none',                },            },            label: {                normal: {                    formatter: (params) => {                        var text;                        if (params.dataIndex == 1) {                            text = '{f|  ' + params.data + '}';                        } else if (params.dataIndex == 2) {                            text = '{f|  ' + params.data + '}';                        } else if (params.dataIndex == 3) {                            text = '{f|  ' + params.data + '}';                        } else {                            text = '{f|  ' + params.data + '}';                        }                        return text;                    },                    rich: {                        f: {                            color: '#ccfff4',                            fontSize: '22',                        },                    },                    position: 'right',                    padding: [0, 0, 0, -10],                    show: true,                },            },            data: getmyd,            z: 77,            animationEasing: 'elasticOut',        },    ],};

3D柱状图+3个柱图+图例不能点击

Vue echart如何实现柱状图,电池图,3D柱图和3D圆柱图

// mock数据const dataArr = {    xdata: ['01.01', '01.02', '01.03', '01.04', '01.05', '01.06', '01.07'],    vaccination: [1000, 1300, 1200, 800, 600, 700, 900],    unvaccinated: [700, 800, 900, 500, 300, 400, 500],    unvaccinatedTwo: [400, 300, 500, 200, 100, 100, 300],    rateDataOne: [98, 96, 97, 92, 94, 95, 100],    rateDataTwo: [88, 86, 87, 82, 84, 85, 95],}// tooltipconst tooltip = {     trigger: "axis",    textStyle: { fontSize: '100%' },    formatter: params => {        let rander = params.map(item => item.seriesType !== "pictorialBar" ? `<div>${item.seriesName}: ${item.seriesType !== "line" ? item.value : item.value + "%"}</div>` : '').join('')        return `            <div>${params[0].axisValue}</div>            ${rander}        `    }}const legend = {    data: ['应接种', '已完成第一次接种', '已完成第二次接种', '完成第一次接种率', '完成第二次接种率'],    textStyle: { fontSize: 14, color: '#fff'},    itemWidth: 25,    itemHeight: 15,    itemGap: 15,    bottom: '5%',    selectedMode: false}const grid = { top: '18%', left: '10%', right: '6%', bottom: '25%'}// xAxisconst xAxis = {     axisTick: { show: true },    axisLine: { lineStyle: { color: 'rgba(255,255,255, .2)' } },    axisLabel: { textStyle: { fontSize: 12, color: '#fff'  }, },    data: dataArr.xdata}// yAxisconst yAxis = [{     axisTick: { show: false },    axisLine: { show: false, },    splitLine: { lineStyle: { color: 'rgba(255,255,255, .05)' } },    axisLabel: { textStyle: { fontSize: 16, color: '#fff' } }},{    show: true,    max: 100,    splitLine: { show:false },    axisLine: { show: false },    axisTick: { show: false },    axisLabel: {         textStyle: { fontSize: 16, color: '#fff' },        formatter: params => {            return `${params}%`        }    }}]// seriesconst series = [{    z: 1,    name: '上部1',    type: 'pictorialBar',    symbolPosition: 'end',    data: dataArr.vaccination,    symbol : 'diamond',    symbolOffset: ['-50%', '-50%'],    symbolSize: [29, 19],    itemStyle: {        borderColor: '#2fffa4',        color: '#2fffa4'    },},{    z: 1,    type: 'bar',    name: '应接种',    barWidth: 30,    barGap: '-50%',    data: dataArr.vaccination,    itemStyle: {        color: {            type: 'linear',            x: 0, x2: 1, y: 0, y2: 0,            colorStops: [                { offset: 0, color: 'rgba(29, 245, 160, .7)' },                 { offset: 0.5, color: 'rgba(29, 245, 160, .7)' },                 { offset: 0.5, color: 'rgba(29, 245, 160, .3)' },                 { offset: 1, color: 'rgba(29, 245, 160, .3)' }            ]        }    },},{    z: 2,    name: '上部1',    type: 'pictorialBar',    symbolPosition: 'end',    data: dataArr.unvaccinated,    symbol : 'diamond',    symbolOffset: [0, '-50%'],    symbolSize: [29, 19],    itemStyle: {        borderColor: '#32ffee',        color: '#32ffee'    },},{    z: 2,    type: 'bar',    name: '已完成第一次接种',    barWidth: 30,    data: dataArr.unvaccinated,    itemStyle: {        color: {            type: 'linear',            x: 0, x2: 1, y: 0, y2: 0,            colorStops: [                { offset: 0, color: 'rgba(50, 255, 238, .7)' },                 { offset: 0.5, color: 'rgba(50, 255, 238, .7)' },                 { offset: 0.5, color: 'rgba(50, 255, 238, .3)' },                 { offset: 1, color: 'rgba(50, 255, 238, .3)' }            ]        }    },}, {    z: 3,    name: '上部1',    type: 'pictorialBar',    symbolPosition: 'end',    data: dataArr.unvaccinatedTwo,    symbol : 'diamond',    symbolOffset: ['50%', '-50%'],    symbolSize: [29, 19],    itemStyle: {        borderColor: '#ffd11a',        color: '#ffd11a'    },},{    z: 3,    type: 'bar',    name: '已完成第二次接种',    barWidth: 30,    data: dataArr.unvaccinatedTwo,    itemStyle: {        color: {            type: 'linear',            x: 0, x2: 1, y: 0, y2: 0,            colorStops: [                { offset: 0, color: 'rgba(255, 209, 26, .7)' },                 { offset: 0.5, color: 'rgba(255, 209, 26, .7)' },                 { offset: 0.5, color: 'rgba(255, 209, 26, .3)' },                 { offset: 1, color: 'rgba(255, 209, 26, .3)' }            ]        }    },}, {       z: 9,    yAxisIndex: 1,    name: '完成第一次接种率', type: 'line',    symbol: `path://M9.312,4.594 C12.074,4.594 14.313,6.832 14.313,9.594 C14.313,12.355 12.074,14.594 9.312,14.594 C6.551,14.594 4.312,12.355 4.312,9.594 C4.312,6.832 6.551,4.594 9.312,4.594 Z`,    symbolSize: [10, 10],    color: {         type: 'linear',x: 1, y: 0, x2: 0, y2: 0,        // 0% 处的颜色                           // 100% 处的颜色        colorStops: [{ offset: 0, color: '#32ffee' }, { offset: 1, color: '#8afff5'}],        global: false // 缺省为 false    },    lineStyle: { color: {         type: 'linear',x: 1, y: 0, x2: 0, y2: 0,        // 0% 处的颜色                           // 100% 处的颜色        colorStops: [{ offset: 0, color: '#32ffee' }, { offset: 1, color: '#8afff5'}],        global: false // 缺省为 false    }},     // 修改的是线下区域的颜色    areaStyle: {         color: new echarts.graphic.LinearGradient(        // 右/下/左/上        0, 0, 0, 1,[            { offset: 0, color: 'rgba(50, 255, 238, .1)' },            { offset: 1, color: 'transparent' }        ])    },    label: {        show: true,        position: 'insideBottomLeft',        formatter: params => {            return `${params.value}%`        },        textStyle: { fontSize: 16, color: '#32ffee' }     },    data: dataArr.rateDataOne}, {       z: 9,    yAxisIndex: 1,    name: '完成第二次接种率', type: 'line',    symbol: `path://M9.312,4.594 C12.074,4.594 14.313,6.832 14.313,9.594 C14.313,12.355 12.074,14.594 9.312,14.594 C6.551,14.594 4.312,12.355 4.312,9.594 C4.312,6.832 6.551,4.594 9.312,4.594 Z`,    symbolSize: [10, 10],    color: {         type: 'linear',x: 1, y: 0, x2: 0, y2: 0,        // 0% 处的颜色                           // 100% 处的颜色        colorStops: [{ offset: 0, color: '#ffd11a' }, { offset: 1, color: '#fff5cc'}],        global: false // 缺省为 false    },    lineStyle: { color: {         type: 'linear',x: 1, y: 0, x2: 0, y2: 0,        // 0% 处的颜色                           // 100% 处的颜色        colorStops: [{ offset: 0, color: '#ffd11a' }, { offset: 1, color: '#fff5cc'}],        global: false // 缺省为 false    }},     // 修改的是线下区域的颜色    areaStyle: {         color: new echarts.graphic.LinearGradient(        // 右/下/左/上        0, 0, 0, 1,[            { offset: 0, color: 'rgba(255, 209, 26, .2)' },            { offset: 1, color: 'transparent' }        ])    },    label: {        show: true,        position: 'insideBottomRight',        formatter: params => {            return `${params.value}%`        },        textStyle: { fontSize: 16, color: '#ffd11a' }     },    data: dataArr.rateDataTwo}]option = { tooltip, xAxis, yAxis, series, grid, legend, backgroundColor: 'rgba(0, 0, 0, .7)' }

3D圆筒柱状图

Vue echart如何实现柱状图,电池图,3D柱图和3D圆柱图

xData = ["正常设备", "报警设备", "离线设备", "故障设备"];yData = [14350, 298, 5037, 239];option = {    backgroundColor: '#061326',    "grid": {        "top": "25%",        "left": "-5%",        "bottom": "5%",        "right": "5%",        "containLabel": true    },    tooltip: {        show: true    },    animation: false,    "xAxis": [{        "type": "category",        "data": xData,        "axisTick": {            "alignWithLabel": true        },        "nameTextStyle": {            "color": "#82b0ec"        },        "axisLine": {            show: false,            "lineStyle": {                "color": "#82b0ec"            }        },        "axisLabel": {            "textStyle": {                "color": "#fff"            },            margin: 30        }    }],    "yAxis": [{        show: false,        "type": "value",        "axisLabel": {            "textStyle": {                "color": "#fff"            },        },        "splitLine": {            "lineStyle": {                "color": "#0c2c5a"            }        },        "axisLine": {            "show": false        }    }],    "series": [{            "name": "",            type: 'pictorialBar',            symbolSize: [40, 10],            symbolOffset: [0, -6],            symbolPosition: 'end',            z: 12,            // "barWidth": "0",            "label": {                "normal": {                    "show": true,                    "position": "top",                    // "formatter": "{c}%"                    fontSize: 15,                    fontWeight: 'bold',                    color: '#34DCFF'                }            },            color: "#2DB1EF",            data: yData        },        {            name: '',            type: 'pictorialBar',            symbolSize: [40, 10],            symbolOffset: [0, 7],            // "barWidth": "20",            z: 12,            "color": "#2DB1EF",            "data": yData        },        {            name: '',            type: 'pictorialBar',            symbolSize: [50, 15],            symbolOffset: [0, 12],            z: 10,            itemStyle: {                normal: {                    color: 'transparent',                    borderColor: '#2EA9E5',                    borderType: 'solid',                    borderWidth: 1                }            },            data: yData        },        {            name: '',            type: 'pictorialBar',            symbolSize: [70, 20],            symbolOffset: [0, 18],            z: 10,            itemStyle: {                normal: {                    color: 'transparent',                    borderColor: '#19465D',                    borderType: 'solid',                    borderWidth: 2                }            },            data: yData        },        {            type: 'bar',            //silent: true,            "barWidth": "40",            barGap: '10%', // Make series be overlap            barCateGoryGap: '10%',            itemStyle: {                normal: {                    color: new echarts.graphic.LinearGradient(0, 0, 0, 0.7, [{                            offset: 0,                            color: "#38B2E6"                        },                        {                            offset: 1,                            color: "#0B3147"                        }                    ]),                    opacity: .8                },            },            data: yData        }    ]};

3D圆筒柱状图+背景

Vue echart如何实现柱状图,电池图,3D柱图和3D圆柱图

var xData2 = ["容城谷庄","雄县七间房","安新三台","雄县张岗","安新寨里"];var data1 = [200,100,200,200,100];var data2 = [300,200,300,300,400];option = {    backgroundColor: '#021132',    tooltip: {        trigger: 'item',    },    grid:{        left:100,        bottom:100    },    xAxis: {        data: xData2,        axisTick: {            show: false        },        axisLine: {            show: false        },        axisLabel: {            interval:0,            textStyle: {                color: '#fff',                fontSize:20,            },            margin: 20, //刻度标签与轴线之间的距离。        },    },    yAxis: {        splitLine: {            show: false,        },        axisTick: {            show: false        },        axisLine: {            show: false        },        axisLabel: {            textStyle: {                color: '#fff',                fontSize:20,            },        }    },    series: [            {//三个最低下的圆片                "name": "",                "type": "pictorialBar",                "symbolSize": [45, 25],                "symbolOffset": [0, 10],                "z": 12,                itemStyle:{                    opacity:1,                    color: function(params){                        var a = params.name.slice(0,2);                        if(a === '容城'){                            return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{                                offset: 0,                                color: '#FF9A22' // 0% 处的颜色                            }, {                                offset: 1,                                color:  '#FFD56E'// 100% 处的颜色                            }], false)                        }else if(a === '雄县' || a === '雄州'){                            return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{                                offset: 0,                                color: '#00EC28' // 0% 处的颜色                            }, {                                offset: 1,                                color:  '#5DF076'// 100% 处的颜色                            }], false)                        }else if(a === '安新'){                            return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{                                offset: 0,                                color: '#12B9DB' // 0% 处的颜色                            }, {                                offset: 1,                                color:  '#6F8EF2'// 100% 处的颜色                            }], false)                        }                    }                },                "data": [1,1,1,1,1]            },            //下半截柱状图            {                name: '2020',                type: 'bar',                barWidth: 45,                barGap: '-100%',                itemStyle: {//lenged文本                    opacity:.7,                    color: function(params){                        var a = params.name.slice(0,2);                        if(a === '容城'){                            return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{                                offset: 0,                                color: '#FF9A22' // 0% 处的颜色                            }, {                                offset: 1,                                color:  '#FFD56E'// 100% 处的颜色                            }], false)                        }else if(a === '雄县' || a === '雄州'){                            return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{                                offset: 0,                                color: '#00EC28' // 0% 处的颜色                            }, {                                offset: 1,                                color:  '#5DF076'// 100% 处的颜色                            }], false)                        }else if(a === '安新'){                            return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{                                offset: 0,                                color: '#12B9DB' // 0% 处的颜色                            }, {                                offset: 1,                                color:  '#6F8EF2'// 100% 处的颜色                            }], false)                        }                    }                },                data: data1            },            { // 替代柱状图 默认不显示颜色,是最下方柱图(邮件营销)的value值 - 20                type: 'bar',                barWidth: 45,                barGap: '-100%',                stack: '广告',                itemStyle: {                    color: 'transparent'                },                data: data1            },            {                "name": "", //头部                "type": "pictorialBar",                "symbolSize": [45, 25],                "symbolOffset": [0, -10],                "z": 12,                "symbolPosition": "end",                itemStyle:{                    color:'#163F7A',                    opacity:1,                },                "data": data2            },            {                "name": "",                "type": "pictorialBar",                "symbolSize": [45, 25],                "symbolOffset": [0, -10],                "z": 12,                itemStyle:{                    opacity:1,                    color: function(params){                        var a = params.name.slice(0,2);                        if(a === '容城'){                            return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{                                offset: 0,                                color: '#FF9A22' // 0% 处的颜色                            }, {                                offset: 1,                                color:  '#FFD56E'// 100% 处的颜色                            }], false)                        }else if(a === '雄县' || a === '雄州'){                            return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{                                offset: 0,                                color: '#00EC28' // 0% 处的颜色                            }, {                                offset: 1,                                color:  '#5DF076'// 100% 处的颜色                            }], false)                        }else if(a === '安新'){                            return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{                                offset: 0,                                color: '#12B9DB' // 0% 处的颜色                            }, {                                offset: 1,                                color:  '#6F8EF2'// 100% 处的颜色                            }], false)                        }                    }                },                "symbolPosition": "end",                "data": data1            },            {                name: '2019',                type: 'bar',                barWidth: 45,                barGap: '-100%',                z:0,                itemStyle: {                    color: '#163F7A',                    opacity:.7,                },                data: data2            }        ]};

电池图

Vue echart如何实现柱状图,电池图,3D柱图和3D圆柱图

var  category= [{         name: "血糖偏高",        value: 2500    },    {        name: "血糖偏低",        value: 8000    },    {        name: "血压偏高",        value: 3000    },    {        name: "血压偏低",        value: 3000    },    {        name: "当日新增",        value: 3000    }]; // 类别var  datas = [];category.forEach(value => {    datas.push(value.value);});option = {    backgroundColor:'#333',    xAxis: {        splitLine: {            show: false        },        axisLine: {            show: false        },        axisLabel: {            show: false        },        axisTick: {            show: false        }    },    grid: {        left: 80,        top: 20, // 设置条形图的边距        right: 80,        bottom: 20    },    yAxis: [{        type: "category",        inverse: false,        data: category,        axisLine: {            show: false        },        axisTick: {            show: false        },        axisLabel: {            show: false        }    }],    series: [{            // 内            type: "bar",            barWidth: 18,            legendHoverLink: false,            silent: true,            itemStyle: {                normal: {                    barBorderRadius:[4,4,4,4],                    color: function(params) {                        var color;                        if(params.dataIndex==19){                             color = {                                type: "linear",                                x: 0,                                y: 0,                                x2: 1,                                y2: 0,                                colorStops: [{                                        offset: 0,                                        color: "#66b1ff" // 0% 处的颜色                                    },                                    {                                        offset: 1,                                        color: "#409eff" // 100% 处的颜色                                    }                                ]                            }                            }else if(params.dataIndex==18){                            color = {                                type: "linear",                                x: 0,                                y: 0,                                x2: 1,                                y2: 0,                                colorStops: [{                                         offset: 0,                                        color: "#66b1ff" // 0% 处的颜色                                    },                                    {                                        offset: 1,                                        color: "#409eff" // 100% 处的颜色                                    }                                ]                            }                            }else if(params.dataIndex==17){                            color = {                                type: "linear",                                x: 0,                                y: 0,                                x2: 1,                                y2: 0,                                colorStops: [{                                         offset: 0,                                        color: "#66b1ff" // 0% 处的颜色                                    },                                    {                                        offset: 1,                                        color: "#409eff" // 100% 处的颜色                                    }                                ]                            }                            }else{                            color = {                                type: "linear",                                x: 0,                                y: 0,                                x2: 1,                                y2: 0,                                colorStops: [{                                         offset: 0,                                        color: "#66b1ff" // 0% 处的颜色                                    },                                    {                                        offset: 1,                                        color: "#409eff" // 100% 处的颜色                                    }                                ]                            }                            }                            return color;                    },                }            },            label: {                normal: {                    show: true,                    position: "left",                    formatter: "{b}",                    textStyle: {                        color: "#fff",                        fontSize: 14                    }                }            },            data: category,            z: 1,            animationEasing: "elasticOut"        },        {            // 分隔            type: "pictorialBar",            itemStyle: {                normal:{                    color:"#333"                }            },            symbolRepeat: "fixed",            symbolMargin: 6,            symbol: "rect",            symbolClip: true,            symbolSize: [2, 21],            symbolPosition: "start",            symbolOffset: [1, -1],            data: category,            z: 2,            animationEasing: "elasticOut"        },        {            // 外边框            type: "pictorialBar",            symbol: "rect",            itemStyle: {                normal: {                    color: "none"                }            },            label: {                normal: {                formatter: (params) => {                var text;                        if(params.dataIndex==1){                        text = '{f|  '+params.data+'}';                        }else if(params.dataIndex==2){                        text = '{f|  '+params.data+'}';                        }else if(params.dataIndex==3){                        text = '{f|  '+params.data+'}';                        }else{                        text = '{f|  '+params.data+'}';                        }                        return text;    },    rich:{    f:{            color:"#ffffff"            }    },    position: 'right',    show: true                }            },            data: datas,            z: 0,            animationEasing: "elasticOut"        }    ]};

自动播放+底部可拖拽

Vue echart如何实现柱状图,电池图,3D柱图和3D圆柱图

 var option = {     title: {        text: '门禁告警数量',        textStyle: {            fontSize: 25,            fontWeight: 'normal',            color: '#fff',        },        x: 'center'    },     backgroundColor:'#323a5e',        tooltip: {          trigger: 'axis',          axisPointer: { // 坐标轴指示器,坐标轴触发有效            type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'          }        },        grid: {          left: '2%',          right: '4%',          bottom: '14%',          top:'16%',          containLabel: true        },         legend: {        data: ['门禁常开告警', '门禁离线告警'],        right: 10,        top:12,        textStyle: {            color: "#fff"        },        itemWidth: 12,        itemHeight: 10,        // itemGap: 35    },        xAxis: {          type: 'category',          data: ['万城社区','花溪社区','人民社区','齿轮厂家属社区','融创社区','元琦林居社区','花城社区','杨中村'],          axisLine: {            lineStyle: {              color: 'white'            }          },          axisLabel: {            // interval: 0,            // rotate: 40,            textStyle: {              fontFamily: 'Microsoft YaHei'            }          },        },        yAxis: {          type: 'value',          max:'150',          axisLine: {            show: false,            lineStyle: {              color: 'white'            }          },          splitLine: {            show: true,            lineStyle: {              color: 'rgba(255,255,255,0.3)'            }          },          axisLabel: {}        },        "dataZoom": [{          "show": true,          "height": 12,          "xAxisIndex": [            0          ],          bottom:'8%',          "start": 10,          "end": 90,          handleIcon: 'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h69.8c2.2,0,4,1.8,4,4V413z',          handleSize: '110%',          handleStyle:{            color:"#d3dee5",          },          textStyle:{            color:"#fff"},          borderColor:"#90979c"        }, {          "type": "inside",          "show": true,          "height": 15,          "start": 1,          "end": 35        }],        series: [{          name: '门禁常开告警',          type: 'bar',          barWidth: '15%',          itemStyle: {            normal: {                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{                    offset: 0,                    color: '#fccb05'                }, {                    offset: 1,                    color: '#f5804d'                }]),                barBorderRadius: 12,            },          },          data: [10, 30, 40, 120, 50, 90, 60, 40, 15]        },        {          name: '门禁离线告警',          type: 'bar',          barWidth: '15%',          itemStyle: {            normal: {                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{                    offset: 0,                    color: '#8bd46e'                }, {                    offset: 1,                    color: '#09bcb7'                }]),                barBorderRadius: 11,            }          },          data: [5, 40, 60, 110, 40, 100, 70, 50 ,20]        }]      };      var app = {        currentIndex: -1,      };      setInterval(function () {        var dataLen = option.series[0].data.length;        // 取消之前高亮的图形        myChart.dispatchAction({          type: 'downplay',          seriesIndex: 0,          dataIndex: app.currentIndex        });        app.currentIndex = (app.currentIndex + 1) % dataLen;        //console.log(app.currentIndex);        // 高亮当前图形        myChart.dispatchAction({          type: 'highlight',          seriesIndex: 0,          dataIndex: app.currentIndex,        });        // 显示 tooltip        myChart.dispatchAction({          type: 'showTip',          seriesIndex: 0,          dataIndex: app.currentIndex        });      }, 1000);

比电池图好看一点的进度条

Vue echart如何实现柱状图,电池图,3D柱图和3D圆柱图

let backgroundColor = 'rgba(0,0,0,1)';let chartData = [    [0,20,333, 0],    ['AAA', 'BBB', 'CCC', 'DDD'],];let getmydmc = chartData[1]; //数据点名称let getmyd = chartData[0]; //收入金额let getmydzd = [];let big = 0;getmyd.forEach((el) => {    if (!(el === undefined || el === '' || el === 0)) {        if (big < Number(el)) {            big = Number(el);        }    } else {        big = 100;    }});for (let i = 0; i < getmyd.length; i++) {    getmydzd.push(big * 4);}//计算最大值function calMax(arr) {    let max = 0;    arr.forEach((el) => {        el.forEach((el1) => {            if (!(el1 === undefined || el1 === '' || el1 === 0)) {                if (max < Number(el1)) {                    max = Number(el1);                }            } else {                max == 100;            }        });    });    let maxint = Math.ceil(max / 9.5);    //不让最高的值超过最上面的刻度    let maxval = maxint * 10;    //让显示的刻度是整数    return maxval;}const max = Math.ceil(calMax([getmyd]) / 10) * 10;option = {    backgroundColor: backgroundColor,    grid: {        left: '10%',        right: '10%',        bottom: '0%',        top: '5%',        // containLabel: true,    },    tooltip: {        formatter: (params) => {            if (params.name !== '') {                return params.name + ' : ' + getmyd[params.dataIndex];            }        },        textStyle: {            align: 'left',        },    },    xAxis: [        {            type: 'value',            axisLabel: {                show: false,                color: '#fff',                formatter: function (val) {                    return val + '';                },                textStyle: {                    fontSize: '13',                },            },            min: 0,            max: max, // 计算最大值            interval: max / 5, //  平均分为5份            splitNumber: 5,            splitLine: {                show: false,                lineStyle: {                    color: '#fff',                },            },            axisLine: {                show: false,                lineStyle: {                    color: '#fff',                    width: 1,                    opacity: 0.3,                },            },            axisTick: {                show: false,            },        },        {            type: 'value',            axisLabel: {                show: false,            },            min: 0,            max: max, // 计算最大值            interval: max / 10, //  平均分为5份            splitNumber: 10,            splitLine: {                show: false,                lineStyle: {                    type: 'dashed',                    color: '#D8D8D8',                },            },            axisLine: {                show: false,                lineStyle: {                    color: '#fff',                },            },            axisTick: {                show: false,            },        },    ],    yAxis: [        {            inverse: false,            data: getmydmc,            axisLabel: {                padding: [0, 0, 20, -10],                inside: true,                textStyle: {                    fontSize: 14,                    fontFamily: 'PingFang SC',                    fontWeight: 400,                    color: '#d2d2d2',                    align: 'left',                    textShadowColor: '#00d6ff',                    textShadowOffsetX: 0,                    textShadowOffsetY: 0,                    textShadowBlur: 5,                },                formatter: '{value}\n{a|占位}',                rich: {                    a: {                        color: 'transparent',                        lineHeight: 30,                        fontFamily: 'digital',                        fontSize: 14,                    },                },            },            // offset: 0,            splitLine: {                show: false,            },            axisTick: {                show: false,            },            axisLine: {                show: false,            },        },        {            //左侧柱状图的Y轴            gridIndex: 0, //y轴所在的 grid 的索引            splitLine: 'none',            axisTick: 'none',            axisLine: 'none',            data: getmyd,            inverse: false,            axisLabel: {                show: true,                verticalAlign: 'bottom',                align: 'right',                padding: [0, 10, 18, 0],                textStyle: {                    color: '#fff',                    fontSize: '14',                },                formatter: function (value) {                    return '{x|' + value + '}';                    // return '{x|' + value + '}  {y|' + '%}';                },                rich: {                    y: {                        color: '#3dffef',                        fontFamily: 'Orbitron',                        fontSize: 14,                    },                    x: {                        color: '#3dffef',                        fontFamily: 'Orbitron',                        fontSize: 14,                    },                },            },        },    ],    dataZoom: [        {            type: 'inside',            show: true,            height: 15,            start: 1,            end: 100,            orient: 'vertical',            zlevel: 66,        },    ],    series: [        {            name: '值',            type: 'bar',            // barGap: '100%',            padding: 10,            // zlevel: 1,            xAxisIndex: 0,            label: {                show: false,                position: 'right',                textStyle: {                    color: '#fff',                    fontSize: 14,                },            },            itemStyle: {                normal: {                    borderRadius: 0,                    color: {                        colorStops: [                            {                                offset: 0,                                color: '#46B7ED', // 0% 处的颜色                            },                            {                                offset: 1,                                color: '#48EDD3', // 100% 处的颜色                            },                        ],                    },                },            },            barWidth: 18,            data: getmyd,            z: 0,        },        {            // 分隔            type: 'pictorialBar',            symbolRotate: '-25',            itemStyle: {                normal: {                    color: 'rgba(1, 12, 38, 0.4)',                },            },            symbolRepeat: 'fixed',            symbolMargin: 6,            symbol: 'rect',            symbolClip: true,            symbolSize: [5, 22],            symbolPosition: 'start',            symbolOffset: [0, -2],            data: getmyd,            z: 66,            animationEasing: 'elasticOut',        },        {            name: '背景',            type: 'bar',            barWidth: 24,            barGap: '-118%',            data: getmydzd,            itemStyle: {                normal: {                    color: 'rgba(5,59,113,0.7)',                    borderRadius: 0,                    // borderColor: 'rgba(0, 255, 236, 1)',                    borderColor: new echarts.graphic.LinearGradient(                        0,                        0,                        0,                        1,                        [                            {                                offset: 0,                                color: '#015EFE', // 0% 处的颜色                            },                            {                                offset: 1,                                color: '#10C2E8', // 100% 处的颜色                            },                        ],                        false                    ),                },            },            z: -1,        },        {            type: 'pictorialBar',            name: '左内边框',            symbol: 'rect',            symbolSize: [3, 22],            symbolOffset: [0, -2],            animation: false,            // symbolKeepAspect: true,            // animationEasing: 'none',            itemStyle: {                normal: {                    color: 'rgba(5,59,113,1)',                },                opacity: 1,            },            z: 99,            data: new Array(getmyd.length).fill(1),        },    ],};

以上是“Vue echart如何实现柱状图,电池图,3D柱图和3D圆柱图”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Vue echart如何实现柱状图,电池图,3D柱图和3D圆柱图

本文链接: https://www.lsjlt.com/news/321224.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue echart如何实现柱状图,电池图,3D柱图和3D圆柱图
    这篇文章主要为大家展示了“Vue echart如何实现柱状图,电池图,3D柱图和3D圆柱图”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue echart如何实现柱状图,电...
    99+
    2023-06-28
  • Vueechart实现柱状图,电池图,3D柱图和3D圆柱图代码详解
    目录电池图3D柱状图+3个柱图+图例不能点击3D圆筒柱状图3D圆筒柱状图+背景电池图自动播放+底部可拖拽比电池图好看一点的进度条总结电池图 let backgroundColor ...
    99+
    2024-04-02
  • vue+echart实现双柱状图
    本文实例为大家分享了vue+echart实现双柱状图的具体代码,供大家参考,具体内容如下 效果图: 一、安装 版本号建议安装"echarts": "^4.8.0”,其它版本init...
    99+
    2024-04-02
  • vue+echarts实现3D柱形图
    本文实例为大家分享了vue+echarts实现3D柱形图的具体代码,供大家参考,具体内容如下 1、安装echarts npm install echarts --save 2、引入...
    99+
    2024-04-02
  • echarts怎么实现3d柱状图
    本篇内容介绍了“echarts怎么实现3d柱状图”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!echarts实现3d柱状图的两种方式看了不少...
    99+
    2023-07-05
  • vue+Echart实现立体柱状图
    本文实例为大家分享了Echart+Vue制作立体柱状图,供大家参考,具体内容如下 先来看一下制作完成后的效果: 废话不多说,直接上代码: HTML代码: <div class...
    99+
    2024-04-02
  • vue+echarts怎么实现3D柱形图
    这篇文章主要介绍了vue+echarts怎么实现3D柱形图的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue+echarts怎么实现3D柱形图文章都会有所收获,下面我们一起来看看吧。效果如下:1、安装echa...
    99+
    2023-06-29
  • Vue使用Echart图标插件之柱状图
    Echart是一个很好的图表绘制插件,里面有各种各样的图表供我们选择,最近用echart做图表比较多,所以现在记录一下用到的柱状图用到的一些配置和用法: 主要注意的点: 1、创建的画...
    99+
    2024-04-02
  • echarts实现3d柱状图的2种方式举例
    目录echarts实现3d柱状图的两种方式方法1: echarts.graphic.extendShape 自定义图形方式2: 象型柱图(type: “pictorial...
    99+
    2023-02-23
    echarts柱状图 echarts 3d柱状图 echarts 3D立体堆叠柱状图
  • Vue+Echart柱状图实现疫情数据统计
    目录1.首先在项目中安装echarts2.在echarts引入柱形图模板3.通过API引入数据4.整合代码四步走四步走,要是直接跳到最后的话,记得有些依赖和环境配置一下哦。 1.首先...
    99+
    2024-04-02
  • vue echarts实现横向柱状图
    本文实例为大家分享了vue echarts实现横向柱状图的具体代码,供大家参考,具体内容如下 实现效果: 代码: <template> <div clas...
    99+
    2024-04-02
  • PyQt5可视化 7 饼图和柱状图实操案例 ④层叠柱状图和百分比柱状图及饼图的实现【超详解图文教程】
    目录 一、层叠柱状图 1 初始化层叠柱状图和绘制层叠柱状图函数 2 构造函数里调用  3 draw_sta来源地址:https://blog.csdn.net/qq_53317005/article/details/129135505...
    99+
    2023-09-29
    python qt 信息可视化 数据库
  • C#如何绘制饼状图和柱状图
    这篇文章主要介绍C#如何绘制饼状图和柱状图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下#代码如下:using System;using System.Collections;usin...
    99+
    2023-06-29
  • vue+echarts实现堆叠柱状图
    本文实例为大家分享了vue+echarts实现堆叠柱状图的具体代码,供大家参考,具体内容如下 echarts-子组件 <template> <div cla...
    99+
    2024-04-02
  • Vue+Echarts实现柱状折线图
    本文实例为大家分享了Vue+Echarts实现柱状折线图的具体代码,供大家参考,具体内容如下 vue处理json数据渲染柱状折线图 HTML: <div id="lineCha...
    99+
    2024-04-02
  • graphpad如何做柱状图
    这篇“graphpad如何做柱状图”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“graphpad如何做柱状图”文章吧。gra...
    99+
    2023-07-04
  • Vue前端柱状图怎么实现
    这篇文章主要介绍了Vue前端柱状图怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue前端柱状图怎么实现文章都会有所收获,下面我们一起来看看吧。vue前端柱状图(叠状条形图)通过echarts来实现柱状...
    99+
    2023-07-05
  • Android如何自定义圆角柱状图
    这篇文章主要为大家展示了“Android如何自定义圆角柱状图”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Android如何自定义圆角柱状图”这篇文章吧。具体内容如下需求:画一个圆角柱状图,显示...
    99+
    2023-06-29
  • vue如何用Echarts画柱状图
    vue如何用Echarts画柱状图,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。vue是什么Vue是一套用于构建用户界面的渐进式JavaScript框架,Vue与其它大型框...
    99+
    2023-06-26
  • Vue+Echart柱状图怎么实现疫情数据统计
    本篇内容主要讲解“Vue+Echart柱状图怎么实现疫情数据统计”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue+Echart柱状图怎么实现疫情数据统计”吧!1.首先在项目中安装echart...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作