skysilver писал(а): Вт июл 24, 2018 9:44 pmЕсли температура не менялась в промежутке времени, то на графике это будет горизонтальная линия.
Нет. Точнее в общем случае - нет. Может быть и такой стиль отрисовки, безусловно. И Highchart имеет такой стиль отдельно - отрисовка горизонтальной линии до следующего изменения. При этом хайчарту для этого не требуется повтор данных. Но это опция. Вы можете отрисовать так, а можете иначе по тем же самым данным. И более распространенным и более естественным отображением является простая кусочно-линейная апроксимация, которая наиболее естественно отображает реальное изменение той же температуры. Если, к примеру, в течение часа было 24 градуса, а потом датчик выдал 25, то это значит что в течение часа температура повышалась, а не резко скакнула, и линия графика должна быть не горизонтальной с резкой ступенькой в конце, а диагональная. Но, это дело вкуса, разумеется. Важно другое - в базе данных повторное значение лишнее для всех вариантов отрисовки, оно не нужно ни для горизонтальной линии, ни для диагональной, ни для сплайна, ни для чего, ни для какой логики и математики оно не требуется, поскольку элементарно вычисляется, если это необходимо. Этот повтор - избыточность для хранения в БД.
Я могу предположить версию, зачем так сделано в mjd. Дело видимо в том, что тип графика line в mjd не поддержан, а тип spline криво связывает разрозненные точки, график получается неестественным. Добавив же искусственно повторное значение мы получаем красивый ровный меандроподобный сглаженный график, который хоть и красив, но менее юзабелен и большом массиве отображения.
skysilver писал(а): Вт июл 24, 2018 9:44 pmА чтобы ее нарисовать нужно минимум две координаты, у которых y1 и y2, разумеется, будут равны.
Отлично, вот вы и подтвердили ту очевидную истину, которую я зачем-то пытаюсь тут втолковывать. Если y1 и y2 равны, причем разумеется равны (то есть это факт сам по себе), то нахрена её, эту y2 в базе-то хранить? Повторюсь, для отрисовки графиков второе значение не требуется ни для Highchart, ни для других библиотек (а я пользовался amChart, Google Chart, и везде одинаково).
skysilver писал(а): Вт июл 24, 2018 9:44 pmНе нравится такое поведение, тогда фильтруйте данные от датчиков до их записи в свойства объектов, через метод, например.
Да, не нравится. Очень не нравится. Это глупо и бессмысленно. Если иного пути нет - буду фильтровать. Однако для этого необходимо брать последнее значение из истории. Как это делается, подскажете? Хранить в переменной, конечно, можно, но этот вариант хуже, так как менее надёжен.