配置项如下
const dataArr = []
let dataObj = {
name: "历年整治完成(核销)",
type: "bar",
year: ["2015", "2016", "2017", "2018", "2019", "2020"],
val: [{
name: '滑坡',
value: ["0", "10", "10", "22", "11", "3"]
},
{
name: '崩塌',
value: ["0", "0", "20", "11", "18", "5"]
},
{
name: '泥石流',
value: ["4", "10", "2", "22", "12", "3"]
}
]
}
dataObj.val.map(item => {
const newArr = {
name: item.name,
type: 'bar',
smooth: true,
symbolSize: 8,
data: item.value,
barWidth: '17%',
itemStyle: {
normal: {
color: item.name === '滑坡' ? '#f0c725' : item.name === '崩塌' ? '#0BE3FF' : '#16f892'
}
}
}
dataArr.push(newArr)
})
option = {
toolbox: {
itemGap: 10,
itemSize: 16,
right: 10,
top: 50,
show: true,
feature: {
dataView: {
show: true,
readOnly: false
},
magicType: {
show: true,
type: ['bar', 'line']
},
restore: {
show: true
},
saveAsImage: {
show: true
}
}
},
backgroundColor: '#323a5e',
color: ['#f0c725', '#16f892'],
title: {
left: 'center',
text: dataObj.name,
textStyle: {
color: '#FFFFFF',
fontSize: '14'
}
},
tooltip: {
trigger: 'axis',
axisPointer: { // 坐标轴指示器,坐标轴触发有效
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
legend: {
x: 'center',
top: '25',
textStyle: {
color: '#c1cadf',
'fontSize': 14
}
},
grid: {
left: '11%',
right: '6%',
top: '25%',
bottom: '10%',
containLabel: false
},
xAxis: [{
type: 'category',
boundaryGap: true,
data: dataObj.year,
axisLine: {
lineStyle: {
color: 'rgba(240,199,37,0.5)'
}
},
axisLabel: {
interval: 0,
color: '#c1cadf',
fontSize: '15'
}
}],
yAxis: [{
type: 'value',
name: '(处)',
nameTextStyle: {
color: '#c1cadf',
align: 'right',
lineHeight: 10
},
axisLine: {
lineStyle: {
color: 'rgba(240,199,37,0.5)'
}
},
axisLabel: {
interval: 0,
color: '#c1cadf',
fontSize: '15'
},
splitLine: {
show: false
}
}],
series: dataArr
}