对于时间序列中的大量数据,highchart将计算平均值

时间:2019-04-09 07:20:46

标签: javascript highcharts

我的网站上有一个高图表时间序列。

当我尝试生成1个月的时间序列时,我得到了如下所示的正确值(我在2月27日的ch4的正确值是09.9,即9.90)enter image description here

当我尝试同时生成两个月的时间序列时,它显示出不同的值(我得到ch4的平均值,介于时间间隔2月27日00.00到2月27日02.59)。

enter image description here

我需要在2个月图表中显示ch4的最大值,而不是平均值。

(我需要在时间2月27日00.00到2月27日02.59的时间间隔内显示ch4的值是9.90)

我该怎么做?

以下是我正在使用的时间序列的属性:

options = {
	legend: { enabled: true },
	chart: { renderTo: 'container'/*, type: 'spline'*/ },
	tooltip: {
		shared: true,
		pointFormat: "<span style=\"color:{point.color}\">\u25CF</span> {series.name}: <b>{point.y:.2f}</b><br/>"
		//  xDateFormat: '%d-%b-%Y %H:%M',
	},

	xAxis: { type: 'datetime', dateTimeLabelFormats: { day: '%e.%b.%y', hour: '%H:%M', year: '%Y', month: '%b-%Y', } },
	yAxis:
			[{ // PressureAttributes yAxis --0
				title: { text: 'Pressure Attributes (m Bar)', style: {/*color: Highcharts.getOptions().colors[0]*/ } },
				labels: {
					formatter: function () { return this.value ; },
				rotation:-90},
				opposite: false,
				gridLineWidth: 0,
				offset: 120
			}, { //CH4,O2,CO2    yAxis --1
				title: { text: 'Gas Attribute (%v/v)', style: { /*color: Highcharts.getOptions().colors[0]*/ } },
				labels: {
					formatter: function () { return this.value  ; },
					rotation: -90
				},
				opposite: false,
				gridLineWidth: 0,
				offset: 40
			}, { // Temperature yAxis --3
				title: { text: 'Temperature ( °C )', style: {/*color: Highcharts.getOptions().colors[0]*/ } },
				labels: {
					formatter: function () { return this.value  ; },
					rotation: -270
				},
				opposite: true,
				gridLineWidth: 0,
				offset: 40
			}, { // PPM yAxis --4
				title: { text: 'Gas Attribute (PPM)', style: {/*color: Highcharts.getOptions().colors[0]*/ } },
				labels: {
					formatter: function () { return this.value ; },
					rotation: -270
				},
				opposite: true,
				gridLineWidth: 0,
				offset: 120
			}]
,
	navigator: { enabled: true, adaptToUpdatedData: false },
	title: { text: 'Reading Time Series' },
	scrollbar: { liveRedraw: false },
	rangeSelector:{inputEnabled: false},
	series: [
				   { name: 'VOC', data: [], yAxis: 3 },
				   { name: 'H2S', data: [], yAxis: 3 },
				   { name: 'CO', data: [], yAxis: 3 },
				   { name: 'O2', data: [], yAxis: 1 },
				   { name: 'CH4', data: [], yAxis: 1 },
				   { name: 'CO2', data: [], yAxis: 1 },
				   { name: 'BH Pressure', data: [], yAxis: 0 },
				   { name: 'ATM Pressure', data: [], yAxis: 0 },
				   { name: 'Temperature', data: [], yAxis: 2 },
				   { name: 'Battery', data: [], yAxis: 3 }
	]
};

 

我需要设置任何特殊属性来实现我的目标吗?

1 个答案:

答案 0 :(得分:1)

这是由dataGrouping引起的。在Highcharts API中,我们可以阅读:

  

plotOptions.line.dataGrouping

     

数据分组是将数据值采样到更大的块中的概念,以简化可读性并提高JavaScript图表的性能。默认情况下,Highstock在点变得比groupPixelWidth选项确定的某个像素值更近时应用数据分组。

您可以通过以下方式禁用dataGrouping

plotOptions: {
    series: {
        dataGrouping: {
            enabled: false
        }
    }
},

API参考:https://api.highcharts.com/highstock/plotOptions.line.dataGrouping