最近使用echarts做一些统计图,界面效果如下:

配置项如下:
let xAxis = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
let sySeriesData = [24, 15, 22, 23, 24, 22, 22, 19, 24, 20, 18, 18]
let dblSeriesData = [8, 5, 4, 8, 9, 7, 6, 5, 8, 9, 4, 8]
option = {
title: {
// text: '情况分析',
textStyle: {
color: '#333',
fontSize: 15,
fontWeight: 500,
height: 32,
lineHeight: 32
}
},
color: ['#40A1FF', '#FA7394'],
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross',
crossStyle: {
color: '#999'
}
},
formatter: function(params) {
var result = params[0].axisValue + '<br>';
params.forEach(function(item) {
const dw = item.seriesName === '时延(ms)' ? 'ms' : '%';
const seriesName = item.seriesName === '时延(ms)' ? item.seriesName.substr(0, 2) : item.seriesName
result += item.marker + seriesName + ':' + item.data + dw + '<br>'
})
return result;
}
},
legend: {
data: ['时延(ms)', '丢包率'],
right: 20,
top: 4,
textStyle: {
fontSize: 15,
height: 32,
lineHeight: 32,
}
},
grid: {
left: '0%',
right: '0%',
containLabel: true
},
xAxis: [{
type: 'category',
data: xAxis,
axisPointer: {
type: 'shadow'
}
}],
yAxis: [{
type: 'value',
// name: '时延',
min: 0,
max: 30,
interval: 5,
axisLabel: {
formatter: '{value}'
},
axisLine: {
show: false, // y轴是否显示
},
axisTick: {
show: false // 不显示刻度
},
splitLine: { //分割线配置
show: true,
lineStyle: {
color: 'rgba(255,255,255,0)'
}
},
show: true
},
{
type: 'value',
// name: '丢包率',
min: 0,
max: 10,
interval: 1,
axisLabel: {
formatter: '{value}%'
},
axisTick: {
show: false // 不显示刻度
},
axisLine: {
show: false, // y轴是否显示
},
splitLine: { //分割线配置
show: true,
lineStyle: {
color: 'rgba(255,255,255,0)'
}
},
show: true
}
],
series: [{
name: '时延(ms)',
type: 'bar',
barWidth: 30, // 柱状宽度
itemStyle: {
normal: {
label: {
show: true,
position: 'top'
}
}
},
data: sySeriesData
},
{
name: '丢包率',
type: 'line',
smooth: true,
yAxisIndex: 1,
data: dblSeriesData,
markLine: {
symbol: "none",
data: [{
silent: false, //鼠标悬停事件 true没有,false有
lineStyle: { //警戒线的样式 ,虚实 颜色
type: "solid",
color: "#C2EFEF",
},
label: {
position: 'end',
formatter: "警戒线",
show: false
},
yAxis: 5
}]
}
}
]
};