自定义热力图颜色,如果不需要那么多功能,可以简化
配置项如下
// x坐标
var xData = ['李白', '李元芳', '曹操', '刘禅', '项羽', '后羿', '鲁班','芈月', '程咬金', '关羽','刘备','张飞','杨戬', '吕布', '诸葛亮', '干将莫邪'];
// y坐标
var yData = ['攻击力', '法强', '防御','血量', '难度', '攻速', '暴击','移速'];
// 随机数a-b
function random(a,b){
return Math.round(Math.random()*Math.abs(b-a)+Math.min(a,b));
}
// seriesData 格式:[{name:'',type:'heatmap',data:[[x,y,z],[],[],...},{...}]
// data 是个二位数组 x 对应x坐标 y对应y坐标 z对应映射值 yData的长度等于seriseData的长度
var seriesData=[];
// 下面是我处理的模拟数据,可以根据自己写数据
for(var i=0;i<yData.length;i++){
var data=[];
for(var j=0;j<xData.length;j++){
data.push([i,j]);
}
seriesData.push(data);
}
for(let i=0;i<seriesData.length;i++){
seriesData[i]=seriesData[i].map(function(item){
return [item[1], item[0], random(1,10)];
})
seriesData[i]={name:yData[i],type: 'heatmap',data:seriesData[i]}
}
// colorData 自定义映射颜色 自大到小 不设置color则有默认色
var colorData=["#ffffff","#e8192f","#d6664d","#B9044E","#f0ba2e","#d3ce2b","#169A7f","#0b6573","#1BB3c8"];
option = {
title:{
text:'数据分析'
},
tooltip: {
trigger: 'axis',
axisPointer : { // 坐标轴指示器,坐标轴触发有效
type : 'line' // 默认为直线,可选为:'line' | 'shadow'
}
},
xAxis: {
name:'英雄',
type: 'category',
data: xData
},
yAxis: {
name:'属性',
type: 'category',
data: yData
},
visualMap: {
color:colorData,
min: 1,
max: 10,
calculable: true,
orient: 'vertical',
left: 'left',
bottom: '15%'
},
series:seriesData,
label: {
normal: {
show: true
}
},
itemStyle: {
emphasis: {
shadowBlur: 10,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
};