Страница 1 из 54

[Модуль] Charts (charts)

Добавлено: Пт мар 04, 2016 4:09 pm
sergejey
В маркет добавлен новый модуль Charts. Модуль предназначен для построения графиков на базе библиотеки HighCharts.
Собственно, в том или ином виде графики были всегда и всегда были нарекания по их работе. Это очередная попытка навести с ними порядок.

Итак, после установки модуля, в разделе Объекты появляется новый пункт Charts:
Изображение

В этом разделе можно создавать такие сущности, как график, задавая ему название (опционально под-название) и определяя лимит времени для выборки данных:
Изображение

После создания графика, можно перейти в раздел данных, где добавляются непосредственно данные:
Изображение

Для каждого элемента данных задаётся название, единица измерения, связанное свойство, а так же приоритет вывода (чем выше, тем раньше идёт).

Собственно, после добавления данных результат можно сразу видеть под настройками:
Изображение

Там же идёт небольшая подсказка с кодом, который можно вставить в пункт меню (тип HTML), на домашнюю страницу либо в сцену.
Пример вызова: [#module name="charts" id="1" width="100%" height="400" interval="3600"#] (кроме id все параметры не обязательны)
width -- ширина графика (может быть в процентах и в пикселях)
height -- высота графика
interval --период обновления графика (в секундах)

По возможностям:
* После вставки кода вывода графика всегда можно вернуться и поменять его параметры
* Поддерживается тёмная/светлая тема оформления
* Два (пока) типа графиков -- линия и столбцы
* Если подключаемые свойства имеют одинаковое название (например Room1.temp и Room2.temp), то данные будут выводится в масштабе одной шкалы, иначе для каждого свойства своя шкала (как в примере выше)

В будущем планируется добавить другие типы графиков, в том числе не только исторические, но и "одномоментные" (типа спидометра и т.д.)

Пример дополнительных значений (цвет шкалы)
ещё пример доп значений (цвет шкалы)
Некоторые индикаторы не модуля
Ещё индикаторы

Re: Модуль Charts

Добавлено: Сб мар 05, 2016 12:15 am
Molostov
Попробовал на одном графике показать температуру внутри и снаружи. Внутри показывает правильно, а у наружней температуры игнорирует минусовое значение, показывает как плюсовое.

Re: Модуль Charts

Добавлено: Сб мар 05, 2016 9:56 am
sergejey
Буду разбираться, ещё не до конца отлажен процесс )

update: кажется понял -- модуль решил, что это разные единицы и сделал две шкалы, причём не понятно почему правая шкала отображается без значений, хотя, скорее всего, там должны быть отрицательные. Внесу изменения, чтобы проверялись не только названия свойств, но и заданная единица измерения -- если она одинаковая, то будет одна шкала.

Re: Модуль Charts

Добавлено: Сб мар 05, 2016 10:25 am
sergejey
Внёс исправления:
* Если заданы одинаковые единицы измерения, то будет одна шкала, даже если название свойств разное
* Добавил тип графика Area
* Включил возможность увеличения отрезка графика (нажать и перетянуть мышью через интересуемую область)
* Исправил проблему со сдвигом времени в последней точке (в примерах горизонтальная линия в конце графика)

Re: Модуль Charts

Добавлено: Сб мар 05, 2016 1:00 pm
olehs
Сергей, а как поменять тему на светлую?
И еще хотелось бы иметь возможность убрать точки.
Вообще настроек у HighChart много, можно как-то к ним доступ получать?

Re: Модуль Charts

Добавлено: Сб мар 05, 2016 1:02 pm
olehs
А, я понял... тема зависит от темы МЖД, верно?

Re: Модуль Charts

Добавлено: Сб мар 05, 2016 1:28 pm
sergejey
olehs писал(а):Сергей, а как поменять тему на светлую?
И еще хотелось бы иметь возможность убрать точки.
Вообще настроек у HighChart много, можно как-то к ним доступ получать?
Да, тема зависит от общей темы системы (тёмная/светлая).
Доступ к настройкам... ну надо подумать. Я не хотел бы усложнять интерфейс большим количеством настроек, так что пока вопрос открытый.
Точки можно убрать, если поставить тип графика Area.

P.S. один из вариантов тонкой настройки это перенести файл .\templates\charts\action_usual.html в .\templates_alt\charts\ , но я пока не рекомендовал бы, т.к. модуль ещё в разработке и основной шаблон будет дорабатываться.

Re: Модуль Charts

Добавлено: Сб мар 05, 2016 2:42 pm
olehs
sergejey писал(а): Доступ к настройкам... ну надо подумать. Я не хотел бы усложнять интерфейс большим количеством настроек, так что пока вопрос открытый.
Могу предложить вариант, не перегружающий настройками, но он скорее для гиков )

В настройки вынести вызов кода/скрипта. Код/скрипт должны вернуть JSON-объект с нужными настройками. Этот объект "смерджить" с объектом инициализации Highcharts.Chart

Re: Модуль Charts

Добавлено: Сб мар 05, 2016 11:59 pm
Molostov
Попробовал снова. Оставил вообще только один график - уличную температуру. Всё равно шкала в плюсе, по крайней мере, визуально. Всё это время температура отрицательная.

Re: Модуль Charts

Добавлено: Вс мар 06, 2016 5:50 pm
sergejey
Molostov писал(а):Попробовал снова. Оставил вообще только один график - уличную температуру. Всё равно шкала в плюсе, по крайней мере, визуально. Всё это время температура отрицательная.
Нашёл ошибку с отрицательными значениями -- исправил