配置项如下
var timeData = ['01','02','03','04','05','06','07','08','09','10'];
var legend=['全部流向', 'IDC','联通'];
var Data = [45,56,58,55,68,75,62,68,75,62];
var colorList=['#ff8f50','#FECA17','#39B5F1','#B9E1A2'];
var seriesList=[];
var datamark= [{
symbol: 'circle',
symbolSize: 12,
}]
$.each(legend,function (index, obj) {
seriesList.push({
name: obj,
type: 'line',
showAllSymbol: true,
symbol: 'emptyCircle',
symbolSize: 5,
yAxisIndex: (legend.length==2&&index==1)?1:0,
itemStyle: {
normal: {
color:colorList[index]},
},
markPoint: {
data:datamark
},
data:Data
})
})
var option = {
tooltip: {
trigger: 'axis',
position: function (point, params, dom, rect, size) {
// 鼠标坐标和提示框位置的参考坐标系是:以外层div的左上角那一点为原点,x轴向右,y轴向下
// 提示框位置 var x = 0; // x坐标位置
var y = 0; // y坐标位置
// 当前鼠标位置
var pointX = point[0];
var pointY = point[1];
// 外层div大小
// var viewWidth = size.viewSize[0];
// var viewHeight = size.viewSize[1];
// 提示框大小
var boxWidth = size.contentSize[0];
var boxHeight = size.contentSize[1];
// boxWidth > pointX 说明鼠标左边放不下提示框
if (boxWidth > pointX) {
x = 5;
} else { // 左边放的下
x = pointX - boxWidth;
}
// boxHeight > pointY 说明鼠标上边放不下提示框
if (boxHeight > pointY) {
y = 5;
} else { // 上边放得下
y = pointY - boxHeight;
}
return [x, y];
}
},
legend: {
data: legend,
textStyle: {
color: '#666'
},
bottom:'1%',
},
grid: {
left: '2%',
right: '3%',
bottom: '10%',
top:'7%',
containLabel: true
},
xAxis: {
data: timeData,
axisLine: {
lineStyle: {
color: '#666'
}
},
axisTick:{
show:false,
},
axisLabel: {
interval: 0,//横轴信息全部显示
// rotate: 60,//60度角倾斜显示
/* formatter:function(val){
if(kpiTimeDim=='hour'){
return (val.split(" ")[1]).split(":")[0]; //横轴信息文字竖直显示
}else if(kpiTimeDim=='day'){
return (val.split(" ")[0].split("-")[2]);
}else{
return (val.split("-")[1]);
}
}*/
}
},
yAxis: [{
splitLine: {show: false},
axisLine: {
lineStyle: {
color: '#666',
}
},
axisLabel:{
formatter:'{value} ',
}
},
{
splitLine: {show: false},
axisLine: {
lineStyle: {
color: '#666',
}
},
axisLabel:{
formatter:'{value} ',
}
}],
series:seriesList
//
};
myChart.setOption(option);
myChart.resize();
window.addEventListener("resize", function () {
myChart.setOption(option);
myChart.resize();
});
myChart.on('click',function(params){
var index = params.dataIndex;
var xtxt=timeData[index]
var ytxt=Data[index]
datamark=[{//点击选中的圈圈变大
symbol: 'circle',
symbolSize: 12,
coord: [xtxt, ytxt]
}]
for(var i = 0 ; i < seriesList.length ; i++){//点击选中循环赋值
seriesList[i].markPoint.data=datamark
}
myChart.setOption(option,true);
})