我需要在列图的X轴上显示我从设备获取的一些日志的时间值。列图具有Y轴的常量值,基本上我希望日志在获取日志时显示为棒。
日志的日期,时间格式如下:2015-05-07T06:08:54.430062Z
我理解这是ISO格式,因此我将“06:08:54.430062”转换为毫秒使用
var myDate = new Date(dt);
var result = myDate.getTime();
获得的结果就像这样1430978934438.碰巧当我转换时,我也得到其他日志的类似值,即使它们有不同的时刻。
假设我有10个日志,图表只显示其中的4个。我用
var value=10;// this is a fixed constant value, since I want the log sticks to be of same height.
series.addPoint([result , value], false, false);
如何将所有日志视为与每个日志条目对应的记录?
如果您需要更多信息,请与我们联系。我是HighCharts和JS的新手,所以任何正确方向的帮助都会非常有用。
由于
添加了以下代码
for (var i = 0; i < nSeries; i++) {
dt=jsonData[i].isodate;
var myDate = new Date(dt);
var result = myDate.getTime();
var series = mychart.series[0];
series.addPoint([result, value], false, false);
}
mychart.redraw();
instance.create = function(Highcharts, container) {
Highcharts.setOptions({
global: {
useUTC: false
}
});
var self = this;
mychart = new Highcharts.Chart({
chart: {
renderTo: container,
defaultSeriesType: 'column',
plotBorderWidth: 1,
showAxes: true,
animation: Highcharts.svg
},
title: {
text: 'Logs'
},
xAxis: {
type: 'datetime',
events: {
setExtremes: function (e) {
console.log('e.min: ' + Highcharts.dateFormat(null, e.min) +
' | e.max: ' + Highcharts.dateFormat(null, e.max) + ' | e.trigger: ' + e.trigger);
if (e.trigger) {
self.autoScroll = false;
}
}
}
},
yAxis: {
title: {
text: ''
}
},
tooltip: {
formatter: function () {
console.log(this);
return '<b>' + this.series.name + '</b><br/>' +
Highcharts.dateFormat('%H:%M:%S.%L', this.x) + '<br/>'+this.key;
}
},
legend: {
enabled: true
},
exporting: {
enabled: true
},
plotOptions: {
column: {
stacking: null
}
},
scrollbar: {
enabled: true
},
series: [{
name: 'Logs',
data: [],
stack: 'LogStack'
}]
});
};