Для большего количества данных во временном ряду старшая диаграмма вычисляет среднее значение - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть временной ряд на старшем сайте на моем сайте.

Когда я пытаюсь сгенерировать временной ряд из 1 месяца, я получил правильное значение, как показано ниже (я получил правильное значение ch4 в 27 февраля, 02.00 как 9.90) enter image description here

Когда я пытаюсь сгенерировать временной ряд для 2 месяцев для одного и того же времени, он показывает другое значение (я получил среднее значение ch4 в интервале с 27 февраля по 00.00 по 27 февраля, 02.59).

enter image description here

Мне нужно было показать максимальное значение ch4 на 2-месячном графике, а не среднее значение.

(мне нужно было показать 9,90 какзначение ch4 в интервале с 27 февраля по 00.00 по 27 февраля, 02.59)

Как я могу это сделать?

Ниже приведены свойства временного ряда, который я использую:

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 Ответ

1 голос
/ 09 апреля 2019

Это вызвано dataGrouping. В API Highcharts мы можем прочитать:

plotOptions.line.dataGrouping

Группировка данных - это концепция выборки значений данных в более крупные блоки для облегчения чтения и повышения производительности диаграмм JavaScript. Highstock по умолчанию применяет группировку данных, когда точки становятся ближе, чем определенное значение в пикселях, определяемое параметром groupPixelWidth.

Вы можете отключить dataGrouping следующим образом:

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

Справочник по API: https://api.highcharts.com/highstock/plotOptions.line.dataGrouping

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...