markLine和series-line两种方式
配置项如下
option = {
grid: [{
bottom: '55%'
}, {
top: '55%'
}],
xAxis: [{}, {
gridIndex: 1
}],
legend: [{
top: '20%',
right: '2%',
orient: 'vertical',
data: ['数据点1', '上限1', '下限1']
}, {
top: '70%',
right: '2%',
orient: 'vertical',
data: ['数据点2', '上限2', '下限2']
}],
yAxis: [{
name: 'markLine方式'
}, {
name: 'series-line方式',
gridIndex: 1
}],
series: [{
name: '数据点1',
symbolSize: 20,
data: [
[10.0, 8.04],
[8.0, 6.95],
[13.0, 7.58],
[9.0, 8.81],
[11.0, 8.33],
[14.0, 9.96],
[6.0, 7.24],
[12.0, 10.84]
],
type: 'scatter',
markLine: {
animation: false,
label: {
normal: {
textStyle: {
align: 'right'
}
}
},
lineStyle: {
normal: {
type: 'solid'
}
},
tooltip: {},
data: [
[{
coord: [0, 6],
symbol: 'none'
}, {
coord: [15, 6],
symbol: 'none'
}],
[{
coord: [0, 11],
symbol: 'none'
}, {
coord: [15, 11],
symbol: 'none'
}]
]
}
}, {
name: '上限1',
type: 'line'
}, {
name: '下限1',
type: 'line'
}, {
name: '数据点2',
symbolSize: 20,
xAxisIndex: 1,
yAxisIndex: 1,
data: [
[10.0, 8.04],
[8.0, 6.95],
[13.0, 7.58],
[9.0, 8.81],
[11.0, 8.33],
[14.0, 9.96],
[6.0, 7.24],
[12.0, 10.84]
],
type: 'scatter'
}, {
name: '下限2',
xAxisIndex: 1,
yAxisIndex: 1,
type: 'line',
symbol: 'none',
data: [
[0, 6],
[15, 6]
]
}, {
name: '上限2',
xAxisIndex: 1,
yAxisIndex: 1,
type: 'line',
symbol: 'none',
data: [
[0, 11],
[15, 11]
]
}]
};
myChart.on('legendselectchanged', function(params) {
if (params.name === '上限1') {
params.selected[params.name] ? option.series[0].markLine.data.push([{
coord: [0, 11],
symbol: 'none'
}, {
coord: [15, 11],
symbol: 'none'
}]) : option.series[0].markLine.data.pop();
myChart.setOption(option);
} else if (params.name === '下限1') {
params.selected[params.name] ? option.series[0].markLine.data.unshift([{
coord: [0, 6],
symbol: 'none'
}, {
coord: [15, 6],
symbol: 'none'
}]) : option.series[0].markLine.data.shift();
myChart.setOption(option);
}
});