var alias = '成长值'; var value = 11600; var currentVipLevel = 4; var maxVipLevel = 7; var lineWidth = 12; var primaryColor = '#EAB864'; var grayColor = '#AAAAAA'; var centerArr = ['50%', '85%']; option = { backgroundColor: '#fff', series: [ { name: '圆点刻度', type: 'gauge', radius: '100%', center: centerArr, z: 3, splitNumber: maxVipLevel, startAngle: 180, endAngle: 0, min: 0, max: maxVipLevel, axisLine: { show: false }, splitLine: { show: false }, axisLabel: { show: true, distance: -28, formatter: function (val) { var level = (val + 1); //图表中间会员等级数据展示 if (level <= currentVipLevel) { return '{primary|}'; } else { return '{noraml|}'; } }, rich: { primary: { width: 34, height: 34, borderRadius: 20, backgroundColor: primaryColor }, noraml: { width: 34, height: 34, borderRadius: 20, backgroundColor: grayColor } }, }, axisTick: { splitNumber: 1, lineStyle: { opacity: 0, } }, detail: { show: false }, pointer: { show: false } }, { name: '线条外圈', //刻度背景 type: 'gauge', z: 2, radius: '100%', splitNumber: maxVipLevel, startAngle: 180, endAngle: 0, min: 0, max: maxVipLevel, center: centerArr, //整体的位置设置 progress: { show: true, width: lineWidth, itemStyle: { color: primaryColor } }, splitLine: { show: false }, data: [ { show: false, value: currentVipLevel - 1, }, ], axisLine: { lineStyle: { width: lineWidth, color: [ [1, grayColor] ] } }, axisLabel: { distance: -100, show: true, formatter: function (val) { var level = (val + 1); //图表中间会员等级数据展示 if (level == currentVipLevel) { return '{current|V' + level + '\n}'; } else if (currentVipLevel < level) { return '{gray|V' + level + '\n}'; } else { return '{noraml|V' + level + '\n}'; } }, rich: { current: { fontSize: 25, color: '#fff', backgroundColor: primaryColor, padding: [5, 15], borderRadius: 20 }, noraml: { fontSize: 25, color: primaryColor }, gray: { fontSize: 25, color: grayColor } }, }, pointer: { show: false, }, axisTick: { show: false, }, detail: { show: 0, } }, { name: '刻度尺', //刻度背景 type: 'gauge', z: 1, radius: '100%', splitNumber: 0, startAngle: -90, center: centerArr, //整体的位置设置 axisLine: { show: false, }, data: [ { value: value } ], axisLabel: { show: false, }, pointer: { show: false, }, axisTick: { show: false }, detail: { valueAnimation: true, formatter: function (val) { //图表中间文字数据展示 return '{bold|' + val + '\n}{gray|' + alias + '}'; }, rich: { gray: { fontSize: 44, color: '#333', }, bold: { fontSize: 100, lineHeight: 140, color: '#000' } }, offsetCenter: ['0', '-30%'], } }, ], };