var demoData = [{ name: '未来15日\n场地预约率', unit: '%', value: 80, }]; option = { backgroundColor: '#010101', series: (function() { var result = []; demoData.forEach(function(item) { result.push({ name: item.name, type: 'gauge', radius: '70.10%', startAngle: 225, endAngle: -45, min: 0, max: 100, axisLine: { show: true, lineStyle: { width: 20, shadowBlur: 0, color: [ [0, 'transparent'], [0.1, '#194383'], [0.108, 'transparent'], [0.2, '#194383'], [0.208, 'transparent'], [0.3, '#194383'], [0.308, 'transparent'], [0.4, '#194383'], [0.408, 'transparent'], [0.5, '#194383'], [0.508, 'transparent'], [0.6, '#194383'], [0.608, 'transparent'], [0.7, '#194383'], [0.708, 'transparent'], [0.8, '#194383'], [0.808, 'transparent'], [0.9, '#194383'], [0.908, 'transparent'], [1, '#194383'] ], } }, axisTick: { show: false, }, splitLine: { show: 0, }, axisLabel: { show: 0 }, pointer: { show: false, }, detail: { show: false, }, data: [{ show: false, }] }, { name: item.name, type: 'gauge', radius: '73.10%', startAngle: 225, endAngle: -45, min: 0, max: 100, axisLine: { show: true, lineStyle: { width: 150, color: [ [ item.value / 100, new echarts.graphic.LinearGradient( 0, 1, 0, 0, [{ offset: 0, color: 'rgba(69, 161, 255,0)', }, { offset: 0.3, color: 'rgba(69, 161, 255,0)', }, { offset: 1, color: 'rgba(69, 161, 255,0.7)', } ] ) ], [ 1, 'rgba(28,128,245,.0)' ] ], } }, axisTick: { show: false, }, splitLine: { show: 0, }, axisLabel: { show: 0 }, pointer: { show: false, length: '100%' }, detail: { show: true, offsetCenter: [1, '1%'], textStyle: { fontSize: 10, color: '#0AFCE0' }, formatter: [ '{value}' + (item.unit || '') ].join('\n'), }, itemStyle: { color: 'rgba(28, 128, 245,.3)', borderColor: 'rgba(28, 128, 245,1)', }, data: [{ value: item.value }] }, { type: 'gauge', radius: '90%', splitNumber: 10, splitLine: { show: false }, min: 0, max: 100, startAngle: 225, endAngle: -45, axisLabel: { show: false }, axisLine: { show: false, }, pointer: { show: 0 }, axisTick: { show: false }, detail: { show: true, offsetCenter: [0, '50%'], formatter: '未来15日\n场地预约率', textStyle: { fontSize: 10, color: '#ffffff', lineHeight: 50, fontWeight: '100', } } }, { type: 'gauge', radius: '73%', splitNumber: 10, splitLine: { show: false }, min: 0, max: 100, startAngle: 225, endAngle: -45, axisLabel: { show: false }, axisLine: { show: true, lineStyle: { width: 2, shadowBlur: 0, color: [ [0.05, '#3F6BFC'], [0.10, '#4072FB'], [0.15, '#4077F9'], [0.20, '#417BF9'], [0.25, '#4282F8'], [0.30, '#4385F7'], [0.35, '#4389F6'], [0.40, '#448FF5'], [0.45, '#4594F4'], [0.50, '#4599F3'], [0.55, '#469EF2'], [0.60, '#46A3F1'], [0.65, '#46A6F0'], [0.70, '#24befe'], [0.75, '#12d1ff'], [0.80, '#06defe'], [0.85, '#05e0ff'], [0.90, '#06deff'], [0.95, '#06deff'], [1, '#06deff'] ], } }, pointer: { show: 0 }, axisTick: { show: false }, detail: { show: false } }, { type: 'gauge', radius: '82%', splitNumber: 10, splitLine: { show: false }, min: 0, max: 100, startAngle: 225, endAngle: -45, axisLabel: { show: false }, axisLine: { show: true, lineStyle: { width: 2, shadowBlur: 0, color: [ [0.05, '#0A498E'], [0.10, '#0C58A7'], [0.15, '#254DD3'], [0.20, '#355FEC'], [0.25, '#4072FB'], [0.30, '#355FEC'], [0.35, '#254DD3'], [0.40, '#06478B'], [0.45, '#0A246C'], [0.50, '#071848'], [0.55, '#071848'], [0.60, '#0A246C'], [0.65, '#06478B'], [0.70, '#254DD3'], [0.75, '#355FEC'], [0.80, '#355FEC'], [0.85, '#254DD3'], [0.90, '#0C58A7'], [0.95, '#0A498E'], [1, '#0A498E'] ], } }, pointer: { show: 0 }, axisTick: { show: false }, detail: { show: false } }, ); }); return result; })() };