想做一个设备状态日志折线图,我数据库里有时间数据,希望可以按照最小按照秒显示状态,但是没找到有这方面的配置,目前好像只是按照天为单位显示
希望可以按照数据库的时间到秒(或者分钟)显示,用时间轴显示时间跨度
option = {
title: {
text: '设备状态日志折线图'
},
tooltip: {
trigger: 'axis'
},
legend: {
data:['设备状态']
},
grid: {
left: '4%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: {
type: 'time'
},
yAxis: {
type: 'value'
},
series: [
{
name:'设备状态',
type:'line',
stack: '状态',
data:[
['2015-12-05 20:00:01'',0],
['2015-12-05 21:00:02',0],
['2015-12-05 23:00:03',0],
['2016-01-05 22:00:04',1],
['2016-01-05 23:01:05',1],
['2016-01-05 23:06:06',1],
['2016-02-05 23:00:12',1],
['2016-02-05 23:00:13',1],
['2016-02-05 23:00:15',1],
['2017-03-05 23:00:55',1]
]
}
]
}

这是官方DEMO 动态数据 + 时间坐标轴 上的一个修改 ,可以满足秒级需求的使用。
简单来说就是X轴选择类目轴,X轴的data传入一个额外的数组(例如date),原始的data构造成对象(为了tooltip构造方便)。动态更新的时候,date数组中传入data对象的第一个值。具体看下面修改过的代码和运行效果图(因为是1000份刻度,所以显示间隔不是秒间隔,但鼠标移上去显示的tooltip是可以看出是秒级的)。
function randomData() {
var now = new Date();
value = value + Math.random() * 21 - 10;
return {
value: [
[now.getHours(), now.getMinutes(), now.getSeconds()].join(':'),
Math.round(value)
]
}
}
var data = [];
var date = [];
var value = Math.random() * 1000;
for (var i = 0; i < 1000; i++) {
data.push(randomData());
date.push('')
}
option = {
title: {
text: '动态数据 + 时间坐标轴'
},
tooltip: {
trigger: 'axis',
formatter: function (params) {
params = params[0];
return params.value[0] + ' / ' + params.value[1];
},
axisPointer: {
animation: false
}
},
xAxis: {
type: 'category',
splitLine: {
show: false
},
data: date
},
yAxis: {
type: 'value',
boundaryGap: [0, '100%'],
splitLine: {
show: false
}
},
series: [{
name: '模拟数据',
type: 'line',
showSymbol: false,
hoverAnimation: false,
data: data
}]
};
setInterval(function () {
var _data = randomData();
data.shift();
date.shift();
data.push(_data);
date.push(_data.value[0])
myChart.setOption({
xAxis: {
data: date
},
series: [{
data: data
}]
});
}, 1000);

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Most helpful comment
这是官方DEMO 动态数据 + 时间坐标轴 上的一个修改 ,可以满足秒级需求的使用。
简单来说就是X轴选择类目轴,X轴的data传入一个额外的数组(例如date),原始的data构造成对象(为了tooltip构造方便)。动态更新的时候,date数组中传入data对象的第一个值。具体看下面修改过的代码和运行效果图(因为是1000份刻度,所以显示间隔不是秒间隔,但鼠标移上去显示的tooltip是可以看出是秒级的)。
代码
图片