📈

Расширенный график

Многосерийный исторический график с агрегацией, осями и аннотациями
Расширенный график — настраиваемый виджет RealIoT для отображения исторических данных устройств и виртуальных источников Node-RED. Он поддерживает несколько серий, разные способы построения, две вертикальные оси, агрегацию, сравнение периодов, цветовые пороги, аннотации, масштабирование и обзорную полосу.
Главное отличие от обычного значения датчика: график строится по данным, которые уже записаны в историю. Текущее значение устройства само по себе недостаточно. Если для выбранного параметра история отсутствует, панель «Свойства» сразу покажет соответствующее предупреждение.

Возможности

Добавление на рабочее поле

1 Откройте список виджетов
  1. Перейдите на нужное рабочее поле.
  2. Включите режим редактирования.
  3. Нажмите кнопку «Добавить иконку».
  4. В окне «Выберите что нужно» найдите раздел «Продвинутые виджеты».
2 Добавьте «Расширенный график»

Нажмите на карточку «Расширенный график». Новый виджет появится на рабочем поле. Переместите его в нужное место и при необходимости измените ширину и высоту.

3 Откройте свойства

Откройте панель «Свойства» виджета. Все параметры имеют всплывающие пояснения: наведите указатель мыши на название настройки.

Быстрая настройка первого графика

1 Задайте период

В разделе «Период и обновление» укажите, сколько данных нужно показать. Для первого запуска удобно выбрать 24 часа и обновление 1 минута.

2 Добавьте серию
  1. Нажмите «Добавить серию».
  2. Введите понятное название, например «Температура».
  3. Выберите тип источника: устройство рабочего поля или узел Node-RED.
  4. Выберите источник.
  5. Выберите параметр, например temperature.
3 Проверьте наличие истории

Сразу после выбора параметра RealIoT проверит базу исторических данных:

  • «Исторические данные найдены» — серия может быть построена;
  • «Исторические данные не найдены» — сначала настройте запись параметра в историю и дождитесь хотя бы одного значения;
  • «Не удалось проверить историю» — проверка временно недоступна; текст ошибки укажет причину.
4 Выберите отображение

Для обычного временного графика оставьте тип серии «Линия», форму «Плавная», агрегацию «Среднее» и подходящий интервал агрегации.

Готово: после сохранения настроек виджет загрузит историю и построит график. Если история существует, но в выбранном периоде нет записей, на виджете появится сообщение «За выбранный период нет данных».

Источники данных

Источник Когда использовать Что требуется
Устройства Физические и виртуальные устройства, добавленные в текущее рабочее пространство. Устройство должно иметь Device SN, а выбранный параметр должен записываться в историю.
Узлы Node-RED Виртуальные датчики, числа, переключатели и термостаты, созданные в Node-RED. Узел должен относиться к этому рабочему пространству и записывать параметр в историю.
⚠️ Текущее значение не равно истории. Параметр может отображаться на иконке устройства, но не иметь ни одной записи в базе истории. В таком случае график построить невозможно.

Что такое агрегация

Устройство может записывать значения очень часто. Например, при записи каждые 10 секунд за сутки получится 8640 точек. Показывать их все не всегда полезно и создаёт лишнюю нагрузку. Агрегация объединяет измерения внутри последовательных временных интервалов и создаёт одну итоговую точку на каждый интервал.

Пример: выбраны агрегация «Среднее» и интервал 5 минут. RealIoT берёт все значения с 10:00 до 10:05 и вычисляет одну среднюю точку, затем повторяет расчёт для 10:05–10:10 и так далее.

Агрегация Результат для каждого интервала Применение
Без агрегации Все исходные точки без объединения. Короткие периоды и редкие измерения.
Среднее Среднее арифметическое всех значений. Температура, влажность, напряжение и другие плавно меняющиеся величины.
Минимум Наименьшее значение. Контроль минимальной температуры, давления или уровня.
Максимум Наибольшее значение. Поиск пиков мощности, температуры или нагрузки.
Последнее Последнее значение по времени. Состояние параметра к концу интервала.
Первое Первое значение по времени. Состояние параметра в начале интервала.
Сумма Сумма всех значений. Импульсы, порции, объёмы и другие интервальные величины.
Медиана Срединное значение упорядоченного набора. Данные с редкими выбросами, которые не должны искажать результат.
Диапазон max − min Разница между максимумом и минимумом. Оценка колебаний внутри интервала.
Разность last − first Разница между последним и первым значением. Изменение накопительного счётчика за интервал.

Интервал агрегации

Интервал агрегации определяет размер временной группы для одной итоговой точки. Меньший интервал даёт больше деталей, но создаёт больше точек и повышает нагрузку.

Период графика Рекомендуемый интервал
До 1 часа Без агрегации или 30 секунд – 1 минута
До 24 часов 1–5 минут
До 7 дней 15 минут – 1 час
До 1 месяца 1–6 часов
Несколько месяцев 6 часов – 1 день
⚠️ Ограничение исходных данных: режим «Без агрегации» предназначен для сравнительно коротких периодов. Если исходных точек слишком много, RealIoT попросит выбрать агрегацию или уменьшить период.

Типы графиков и серий

Общий тип графика

Тип Назначение
Временной график Показывает изменение параметров во времени. Поддерживает линии, области, столбцы и точки.
Точечный график Показывает отдельные измерения без обязательного соединения линией.
Круговая диаграмма Сравнивает последние значения нескольких серий как доли круга.
Кольцевая диаграмма То же сравнение долей с пустым центром.
Радиальные шкалы Показывают последние значения относительно заданных Min radial и Max radial.

Тип отдельной серии

Период и сравнение

Привязка периода

Смещение периода сдвигает весь график. Например, период 1 день со смещением −1 день показывает предыдущие сутки.

Сравнение с прошлым периодом

Смещение задаётся отдельно для каждой серии. Чтобы сравнить текущую температуру с прошлой неделей:

  1. создайте первую серию без смещения;
  2. создайте вторую серию с тем же источником и параметром;
  3. задайте второй серии смещение 1 неделя;
  4. выберите другой цвет и понятное название, например «Прошлая неделя».

Обе серии будут совмещены на одной временной шкале. В подсказке над точкой сравниваемой серии отображается фактическое исходное время записи.

Вертикальные оси Y

Две оси позволяют совместить параметры с разными диапазонами и единицами. Например, температуру можно назначить левой оси, а мощность — правой.

Режим границы Поведение
Авто Граница рассчитывается по данным.
Мягкая граница Указанное значение используется как желательная граница, но данные могут расширить шкалу.
Фиксированная Шкала строго ограничивается указанным значением.

Параметр «Выравнивать к кратному» округляет автоматически рассчитанные границы. Например, значение 10 создаёт деления с удобными границами 0, 10, 20 и так далее.

Преобразование и заполнение значений

Выбор заполнения: «Пусто» сохраняет честный разрыв данных; «Последним» подходит для состояний, которые действуют до следующего изменения; «Нулём» используйте только когда отсутствие записи действительно означает нулевое значение.

Заголовок и легенда

Масштабирование, перемещение и brush

Для каждой серии можно отдельно указать, должна ли она отображаться в основной области, заголовке, легенде и обзорной полосе.

Цветовые пороги

Порог меняет цвет серии, когда значение достигает указанного уровня. Пороги сортируются по возрастанию, а для текущего значения применяется последний достигнутый порог.

Пример для температуры:

Аннотации

Тип Назначение
Горизонтальная линия Отмечает важное значение Y: норму, предел или аварийный уровень.
Вертикальная линия Отмечает момент времени: запуск оборудования, событие или изменение режима.
Точка Отмечает конкретное сочетание времени и значения.

Для аннотации задаются цвет, подпись и ось Y. Аннотацию можно временно скрыть, не удаляя её настройки.

Круговые и радиальные виды

Круговая и кольцевая диаграммы используют последние доступные значения серий. Радиальные шкалы дополнительно требуют диапазон:

Например, для влажности обычно подходят Min radial = 0 и Max radial = 100.

Рекомендации по производительности

RealIoT рассчитан на работу на Raspberry Pi, поэтому настройки графика имеют ограничения по объёму данных.

Решение проблем

График не появился

  1. Проверьте, включена ли серия.
  2. Проверьте, выбран ли источник и параметр.
  3. Посмотрите результат автоматической проверки истории под полем «Параметр».
  4. Убедитесь, что серия включена параметром «Показывать на графике».
  5. Проверьте выбранный период.

История есть, но за выбранный период данных нет

Увеличьте период графика или уберите смещение периода. Автоматическая проверка истории ищет последнюю запись за всё доступное время, а сам график загружает только выбранный диапазон.

Появилось сообщение о слишком большом количестве точек

Увеличьте интервал агрегации, выберите агрегацию вместо исходных данных либо уменьшите период.

Линия имеет разрывы

В указанные моменты данных не было. Если это соответствует смыслу параметра, выберите заполнение «Последним» или «Нулём». Не заполняйте пропуски, если важно видеть реальные перерывы связи.

Одна серия почти не видна рядом с другой

Назначьте серии с другим диапазоном правую ось Y и настройте её границы независимо.

Сравниваемая серия показывает другие даты в подсказке

Это ожидаемо: серия сдвинута на текущую шкалу для визуального сравнения, а подсказка показывает фактическое время исходной исторической записи.

Дополнительная помощь: наведите указатель мыши на название любой настройки в панели «Свойства». Всплывающая подсказка объяснит назначение параметра и его влияние на график.
← Назад к справке