let labelData = [];
let labelData1 = [];
for (let i = 0; i < 80; ++i) {
labelData.push({
value: 1,
name: i,
itemStyle: {
normal: {
color: 'rgba(0,209,228,0)',
}
}
});
}
for (let i = 0; i < labelData.length; ++i) {
if (labelData[i].name < 15) {
labelData[i].itemStyle = {
normal: {
color: new echarts.graphic.LinearGradient(
0, 1, 0, 0,
[{
offset: 0,
color: '#6dfbff'
},
{
offset: 1,
color: '#02aeff'
}
]
)
},
}
}
}
for (let i = 0; i < 80; ++i) {
labelData1.push({
value: 1,
name: i,
itemStyle: {
normal: {
color: 'rgba(0,209,228,0)',
}
}
});
}
for (let i = 0; i < labelData1.length; ++i) {
if (labelData1[i].name < 80) {
labelData1[i].itemStyle = {
normal: {
color: '#464451',
},
}
}
}
function Pie() {
let dataArr = [];
for (var i = 0; i < 100; i++) {
if (i % 10 === 0) {
dataArr.push({
name: (i + 1).toString(),
value: 30,
itemStyle: {
normal: {
color: "rgba(0,255,255,1)",
borderWidth: 0,
borderColor: "rgba(0,0,0,0)",
}
}
})
} else {
dataArr.push({
name: (i + 1).toString(),
value: 100,
itemStyle: {
normal: {
color: "rgba(0,0,0,0)",
borderWidth: 0,
borderColor: "rgba(0,0,0,0)"
}
}
})
}
}
return dataArr
}
function Pie1() {
let dataArr = [];
for (var i = 0; i < 100; i++) {
if (i % 5 === 0) {
dataArr.push({
name: (i + 1).toString(),
value: 20,
itemStyle: {
normal: {
color: "rgba(0,255,255,1)",
borderWidth: 0,
borderColor: "rgba(0,0,0,0)"
}
}
})
} else {
dataArr.push({
name: (i + 1).toString(),
value: 100,
itemStyle: {
normal: {
color: "rgba(0,0,0,0)",
borderWidth: 0,
borderColor: "rgba(0,0,0,0)"
}
}
})
}
}
return dataArr
}
function Pie2() {
let dataArr = [];
for (var i = 0; i < 100; i++) {
if (i % 5 === 0) {
dataArr.push({
name: (i + 1).toString(),
value: 20,
itemStyle: {
normal: {
color: "rgba(0,255,255,.3)",
borderWidth: 0,
borderColor: "rgba(0,0,0,0)"
}
}
})
} else {
dataArr.push({
name: (i + 1).toString(),
value: 100,
itemStyle: {
normal: {
color: "rgba(0,0,0,0)",
borderWidth: 0,
borderColor: "rgba(0,0,0,0)"
}
}
})
}
}
return dataArr
}
function Pie3() {
let dataArr = [];
for (var i = 0; i < 100; i++) {
if (i % 10 === 0) {
dataArr.push({
name: (i + 1).toString(),
value: 30,
itemStyle: {
normal: {
color: "rgba(0,255,255,.5)",
borderWidth: 0,
borderColor: "rgba(0,0,0,0)"
}
}
})
} else {
dataArr.push({
name: (i + 1).toString(),
value: 100,
itemStyle: {
normal: {
color: "rgba(0,0,0,0)",
borderWidth: 0,
borderColor: "rgba(0,0,0,0)"
}
}
})
}
}
return dataArr
}
option ={
backgroundColor: '#1f1e26',
title: [
{
text: '75%',
x: '33%',
y: '45%',
textAlign: 'center',
textStyle: {
fontSize: 18,
fontWeight: 800,
color: '#e8f7ff',
textAlign: 'center',
},
}, {
text: '在线数量',
right: '0%',
top: '40%',
textStyle: {
fontSize: 12,
fontWeight: '400',
color: '#e8f7ff',
textAlign: 'left',//right
},
}, {
text: '448',
right: '0%',
top: '52%',
textStyle: {
fontSize: 14,
fontWeight: 800,
fontFamily:'',
color: '#3cd1ff',
textAlign: 'left',
},
}, ],
polar: {
radius: ['40%', '35%'],
center: ['35%', '50%'],
},
angleAxis: {
max: 100,
show: false,
startAngle: 0,
},
radiusAxis: {
type: 'category',
show: true,
axisLabel: {
show: false,
},
axisLine: {
show: false,
},
axisTick: {
show: false
},
},
series: [
//里第二圈
{
name: '',
type: 'bar',
roundCap: true, //圆角
barWidth: 60,
showBackground: true,
backgroundStyle: {
color: '#464451',
},
data: [75],
coordinateSystem: 'polar',
itemStyle: {
normal: {
color: new echarts.graphic.LinearGradient(1, 0, 0, 0, [{
offset: 0,
color: '#0ff'
}, {
offset: 1,
color: '#02aeff'
}]),
}
}
},
//齿轮蓝圈
{
hoverAnimation: false,
name:'bb',
type: 'pie',
z: 2,
data: labelData,
radius: ['45%', '55%'],
center: ['35%', '50%'],
zlevel: -2,
itemStyle: {
normal: {
borderColor: '#black',
borderWidth: 1,
}
},
label: {
normal: {
position: 'inside',
show: false,
}
},
},
//齿轮灰圈
{
hoverAnimation: false,
type: 'pie',
z: 1,
data: labelData1,
radius: ['45%', '55%'],
center: ['35%', '50%'],
zlevel: -2,
itemStyle: {
normal: {
borderColor: 'black',
borderWidth: 1,
}
},
label: {
normal: {
position: 'inside',
show: false,
}
},
},
//最里圈
{
type: 'pie',
radius: ['32%', '29%'],
center: ['35%', '50%'],
data: [{
hoverOffset: 1,
value: 100,
name: '',
itemStyle: {
color: '#30778e',
},
label: {
show: false
},
labelLine: {
normal: {
smooth: true,
lineStyle: {
width: 0
}
}
},
hoverAnimation: false,
},
{
label: {
show: false
},
labelLine: {
normal: {
smooth: true,
lineStyle: {
width: 0
}
}
},
value: 100 - 75,
hoverAnimation: false,
itemStyle: {
color: '#3c3a48',
},
}
]
},
//外圈装饰
{
type: 'pie',
zlevel: 0,
silent: true,
radius: ['60%', '58.5%'],
center: ['35%', '50%'],
z: 1,
label: {
normal: {
show: false
},
},
labelLine: {
normal: {
show: false
}
},
data: Pie()
},
{
type: 'pie',
zlevel: 0,
silent: true,
startAngle: -150,
radius: ['58.5%', '57%'],
center: ['35%', '50%'],
z: 1,
label: {
normal: {
show: false
},
},
labelLine: {
normal: {
show: false
}
},
data: Pie3()
},
{
type: 'pie',
zlevel: 0,
silent: true,
startAngle: -140,
radius: ['60%', '58.5%'],
center: ['35%', '50%'],
z: 1,
label: {
normal: {
show: false
},
},
labelLine: {
normal: {
show: false
}
},
data: Pie()
},
{
type: 'pie',
zlevel: 0,
silent: true,
radius: ['58%', '56.5%'],
center: ['35%', '50%'],
z: 1,
label: {
normal: {
show: false
},
},
labelLine: {
normal: {
show: false
}
},
data: Pie1()
},
{
type: 'pie',
zlevel: 0,
silent: true,
startAngle: -140,
radius: ['58%', '56.5%'],
center: ['35%', '50%'],
z: 1,
label: {
normal: {
show: false
},
},
labelLine: {
normal: {
show: false
}
},
data: Pie2()
},
{
type: 'pie',
zlevel: 0,
silent: true,
startAngle: -147.5,
radius: ['58%', '56.5%'],
center: ['35%', '50%'],
z: 1,
label: {
normal: {
show: false
},
},
labelLine: {
normal: {
show: false
}
},
data: Pie2()
},
]
};
console.log(option)