散点图内阴影渲染
配置项如下
var reslult = [{
name: "电力热力",
value: 130,
color: "#20F397",
position: [0, 60],
fontSize: "12",
number: "2",
},
{
name: "水利环境",
value: 150,
color: "#FEF009",
position: [20, 30],
fontSize: "14",
number: "4",
},
{
name: "批发零售",
value: 130,
color: "#02DDDF",
position: [20, 70],
number: "2",
fontSize: "12",
},
{
name: "制造业",
value: 170,
color: "#FF0000",
position: [45, 50],
number: "4",
fontSize: "18",
},
{
name: "房地产",
value: 140,
color: "#00FFFF",
position: [46, 90],
fontSize: "13",
number: "3",
},
{
name: "交通运输",
value: 70,
color: "#FF7E00",
position: [65, 75],
fontSize: "18",
number: "2",
},
{
name: "居民服务",
value: 140,
color: "#00FFFF",
position: [80, 33],
number: "4",
fontSize: "11",
},
{
name: "教育",
value: 130,
color: "#601986",
position: [90, 53],
fontSize: "11",
number: "2",
},
];
var data = [];
// 渲染数据,并写入chart
reslult.map((item) => {
data.push({
name: item.name,
value: item.position,
symbolSize: item.value,
label: {
normal: {
formatter: function(param) {
var newParamsName = ""; //返回文字格式
var paramsNameNumber = param.name.length; //获取显示文字长度
var number = parseInt(item.number); //超过多少字换行
var rowNumber = Math.ceil(paramsNameNumber / number); //最多能显示几行
if (paramsNameNumber > number) {
//如果长度大于每行最多显示的字数
for (var p = 0; p < rowNumber; p++) {
//循环次数就是行数
var tempStr = ""; //每次截取的字符
var start = p * number; //截取的起点
var end = start + number; //截取的终点
if (p == rowNumber - 1) {
//最后一行就不换行了
tempStr = param.name.substring(start);
} else {
tempStr = param.name.substring(start, end) + "\n";
}
newParamsName += tempStr; //拼接字符串
}
} else {
newParamsName = param.name; //如果小于每行最多显示的字数就返回原来的字符串
}
return newParamsName;
},
show: true,
textStyle: {
fontSize: item.fontSize,
fontFamily: "Microsoft YaHei",
color: "#FFFFFF",
fontWeight: "bold",
opacity: 1,
},
},
},
itemStyle: {
normal: {
color: new echarts.graphic.RadialGradient(0.5, 0.5, 1, [{
offset: 0.2,
color: "rgba(27, 54, 72, 0.3)",
},
{
offset: 1,
color: item.color,
},
]),
opacity: 1,
borderWidth: 1,
borderColor: item.color,
},
},
});
});
option = {
backgroundColor:'rgba(36, 130, 160, 1)',
grid: {
show: false,
top: 10,
bottom: 10,
},
xAxis: [{
gridIndex: 0,
type: "value",
show: false,
min: 0,
max: 100,
nameLocation: "middle",
nameGap: 5,
}, ],
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",
},
},
},
animationDurationUpdate: 500,
animationEasingUpdate: 500,
animationDelay: function(idx) {
// 越往后的数据延迟越大
return idx * 100;
},
data: data,
}, ],
}