产品虐我千百遍
官网的案例确实是实现了这个效果,实际用到项目是失效
要实现的效果大概是这样
// 官网代码
series: [
{
name: 'Evaporation',
type: 'bar',
tooltip: {
valueFormatter: function (value) {
return value + ' ml';
}
},
data: [
2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3
]
},
{
name: 'Precipitation',
type: 'bar',
tooltip: {
valueFormatter: function (value) {
return value + ' ml';
}
},
data: [
2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3
]
},
在series里设置tooltip, 好像是会失效的,因为全局的tooltip优先级最高,会覆盖局部的设置。虽然官网是这么写的。下面贴出解决方案:
// 解决方案
let option = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross',
crossStyle: {
color: '#999'
}
},
formatter(params) {
let str = params[0].name + '<br />'
params.forEach(item => {
if (item.seriesName === '风电项目' || item.seriesName === '光伏项目') {
str += `${item.marker}${item.seriesName}: ${item.data}万千瓦<br />`
} else {
str += `${item.marker}${item.seriesName}: ${item.data}个<br />`
}
})
}
},
legend: {
data: ['风电项目', '光伏项目', '风电项目数量', '光伏项目数量']
},
}