坐标需手动修改,如果哪位大神有好的自动生成坐标法希望分享一下
配置项如下
var plantCap = [{
name: '四川',
value: '120',
}, {
name: '河北',
value: '115',
}, {
name: '江苏',
value: '113',
}, {
name: '河南',
value: '95',
}, {
name: '上海',
value: '92',
}, {
name: '北京',
value: '87',
}, {
name: '深圳',
value: '87',
}, {
name: '广州',
value: '60',
}]
var datalist = [{
offset: [60, 50],
symbolSize: 84,
opacity: .95,
fontSize: '18'
}, {
offset: [55, 42],
symbolSize: 80,
opacity: .88,
fontSize: '17.1'
}, {
offset: [65, 43],
symbolSize: 71,
opacity: .84,
fontSize: '15.2'
}, {
offset: [56, 57],
symbolSize: 60,
opacity: .8,
fontSize: '12.85'
}, {
offset: [64, 57],
symbolSize: 58,
opacity: .75,
fontSize: '12.43'
}, {
offset: [54, 50],
symbolSize: 55,
opacity: .7,
fontSize: '11.8'
}, {
offset: [66, 50.5],
symbolSize: 50,
opacity: .68,
fontSize: '10.7'
}, {
offset: [52, 55],
symbolSize: 40,
opacity: .6,
fontSize: '8.57'
}]
var datas = [];
for (var i = 0; i < plantCap.length; i++) {
var item = plantCap[i];
var itemToStyle = datalist[i];
datas.push({
name: item.name + '\n' + item.value + 'MW',
value: itemToStyle.offset,
symbolSize: itemToStyle.symbolSize,
label: {
normal: {
textStyle: {
fontSize: itemToStyle.fontSize
}
},
},
itemStyle: {
normal: {
opacity: itemToStyle.opacity
}
},
})
}
option = {
tooltip: {
trigger: 'item',
backgroundColor: '#fff',
textStyle: {
color: '#999'
},
formatter: (item) => {
if (item.data[2]) {
return `${item.data[2]}<br/> 坐标: x ${item.data[0]} y ${item.data[1]}`;
}
}
},
xAxis: [{
gridIndex: 0,
type: 'value',
show: false,
min: 0,
max: 100,
nameLocation: 'middle',
nameGap: 30
}],
yAxis: [{
gridIndex: 0,
min: 0,
show: false,
max: 100,
nameLocation: 'middle',
nameGap: 30,
}],
series: [{
type: 'scatter',
symbol: 'circle',
symbolSize: 120,
label: {
normal: {
show: true,
formatter: '{b}',
color: '#fff',
textStyle: {
fontSize: '20'
}
},
},
itemStyle: {
normal: {
color: '#00acea'
},
emphasis: {
color: '#eea631',
opacity: 1
}
},
data: datas
}
]
};