chartData = [ { name: 'A公司', value: 67, }, { name: 'B公司', value: 57, }, { name: 'C公司', value: 42, }, { name: 'D公司', value: 35, }, { name: 'E公司', value: 32, }, ]; let yName = chartData.map((item) => item.name); let barWidth = 9; let max = 0; chartData.forEach((item) => { max = item.value > max ? Math.ceil(item.value / 100) * 100 : max; }); let totalArray = new Array(5).fill(max); option = { backgroundColor: '#313131', xAxis: { splitLine: { show: false, }, axisLabel: { show: false, }, axisTick: { show: false, }, axisLine: { show: false, }, }, grid: { containLabel: true, left: 10, top: 20, right: 10, bottom: 0, }, yAxis: [ { inverse: true, axisLine: { show: false, }, axisTick: { show: false, }, axisLabel: { show: false, margin: 10, textStyle: { fontSize: 14, color: '#fff', }, }, data: yName, }, { type: 'category', inverse: true, axisTick: 'none', axisLine: 'none', show: true, axisLabel: { textStyle: { color: '#ffffff', fontSize: '14', }, align: 'right', padding: [0, 0, 0, 0], verticalAlign: 'bottom', lineHeight: 36, // 空闲车位、占比 formatter: (value, index) => { return `{a|${value}}`; }, rich: { a: { fontSize: 14, padding: [0, 10, 0, 0], }, }, }, data: chartData, }, ], series: [ { type: 'bar', barWidth, legendHoverLink: false, symbolRepeat: true, silent: true, itemStyle: { color: { type: 'linear', x: 0, y: 0, x2: 1, y2: 0, colorStops: [ { offset: 1, color: '#00abee', // 0% 处的颜色 }, { offset: 0, color: '#62E6F6', // 100% 处的颜色 }, ], }, }, data: chartData, zlevel: 1, animationEasing: 'elasticOut', label: { normal: { color: '#fff', show: true, position: [0, '-23px'], textStyle: { fontSize: '14', fontFamily: 'customFont', color: '#FFFFFF', }, // 柱图名称 formatter: (value) => { return value.name; }, }, }, }, // 背景条形图 { name: '背景', type: 'bar', barWidth: barWidth, barGap: '-100%', data: totalArray, itemStyle: { normal: { color: '#47515C', }, }, }, { type: 'pictorialBar', itemStyle: { color: '#000', }, symbolRepeat: 'fixed', symbolMargin: 4, symbol: 'roundRect', symbolClip: true, symbolSize: [1, barWidth], symbolPosition: 'start', symbolOffset: [0, 0], data: chartData, zlevel: 2, animationEasing: 'elasticOut', }, ], };