var lineJson;//用于临时存储折线图json对象, 便于追加数据
//创建折线图
function createLineChart(obj){
lineJson=obj;
optiOns= {
title : {
//text: '脉搏值(次/min)',
text: obj.title,
subtext: 'make by sxt',
x:'left'
},
tooltip: {
trigger: 'axis',
formatter: "脉搏频率 :
{b} - {c} 次/min"
},
xAxis: {
id: 'dataX',
type: 'category',
splitLine:{
show:true
},
axisLabel: {
//formatter: '{value} °C'
formatter: '{value}'
},
data: obj.times //动态展示运动时间
},
yAxis: {
type: 'value',
axisLine: {onZero: true},
splitLine:{
show:true
},
axisLabel: {
//formatter: '{value} km'
formatter: '{value}'
},
min:0,
max:150//在此设置范围
},
dataZoom: [
{
id:'dataZoom',
show:false,
type: 'inside',//inside 为拖动效果
//type: 'slider',//slider为手动更新效果
realtime: true,
filterMode: 'filter',
start: 20,
end: 85,
xAxisIndex: 0
}
],
series: [{
id: 'dataY',
name: '脉搏频率(次)/(s)',
type: 'line',
smooth: true,
data: obj.steps, //动态展示运动步数数据
lineStyle: {
normal: {
width: 3,
shadowColor: 'rgba(0,0,0,0.4)',
shadowBlur: 10,
shadowOffsetY: 10
}
},
markPoint : {//标注点
data : [//这种方式内部自动计算最值
{
type :'max' ,
name:'最大值' ,
symbol:'image://' + treeUrl,
symbolSize: [30, 30]
},
{
type : 'min',
name: '最小值',
symbol:'image://' + childUrl,
symbolSize: [30, 30]
}
]
},
markLine : {
data : [ {type : 'average', name: '平均值'} ]
}
}]
};
}
//更新折线图的缩放起始位置
function updateZoomState(start,end){
myChart.setOption({
dataZoom: [{
id: 'dataZoom',
start: start,
end: end
}]
});
}
//获取数组最小值
function getMinValue(obj){
var min = obj.steps[0];
for (var i = 1; i max) {
max = obj.steps[i];
}
}
return max;
}
//更新折线图数据 继续在后面追加数据
function updateDataXY(dataX,dataY){
myChart.setOption({
xAxis: {
id: 'dataX',
data:lineJson.times.concat(dataX)
},
series:[{
id: 'dataY',
data:lineJson.steps.concat(dataY)
}],
dataZoom: [{
id: 'dataZoom',
start: 60,
end: 100
}]
});
}