Модуль графики Precision

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Модуль графики Precision

Сообщение Alex » Чт фев 28, 2013 2:08 pm

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

Это альтернативный модуль его можно использовать параллельно основному. Просто положите его в папку pChart.

Обращения типа
<img src="/pChart/?p= ...

заменяются на
<img src="/pChart/prec.php?p= …

По сравнению со стандартным модулем изменены некоторые параметры вызова. В заголовке файла описаны все параметры.

-----------------------------------------------------
Внимание! Модуль экспериментальный и в будущем могут изменяться функции и параметры вызова. Если вы используете его, то будьте готовы к этому. Модуль тестировался на светлой теме.
-----------------------------------------------------

Что нового?

Модуль поддерживает 9 каналов, т. е. вы можете выводить до 9 графиков одновременно. Естественно, чем больше каналов, тем больше нагрузка на сервер.

Введена поддержка меток. Вы можете маркировать линии графиков. Или выводить любую информацию в метках.

Можно задавать цвет отдельно для каждой линии.

Модуль содержит 2 вида фильтров. Fil01 сглаживает графики, Fil02 убирает нулевые провалы из графиков.

С параметром &middle=1 вычисляется и выводится график среднего между 1-м и 2-м каналом.

Примеры вызова.

Код: Выделить всё

<img src="/pChart/prec.php?p=analog42.value&type=1h&width=340&unit=Вт&g1color=brown&gtype=line&px=1&c1fil02=2&p2=analog48.value&g2color=green&c2fil02=2&n1=Общая&n2=Кухня&n3=Плита&labels=1&g2color=blue&p3=analog46.value&g3color=green&c3fil02=2">

<img src="/pChart/prec.php?p=analog42.value&type=24h&width=700&unit=Вт&gcolor=brown&gtype=fline&px=1&c1fil02=2">

<img src="/pChart/prec.php?p=analog07.value&type=1h&width=280&height=180&unit=В&gcolor=red&gtype=fline&px=1&c1fil02=1&n1=Напряжение: %analog07.value%&labels=1">

<img src="/pChart/prec.php?p=pir50.act1m&type=4h&width=600&height=180&gcolor=green&gtype=line">
Вложения
1.png
1
1.png (15.51 КБ) 10277 просмотров
2.png
2
2.png (13.34 КБ) 10277 просмотров
3.png
3
3.png (5.16 КБ) 10277 просмотров
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Модуль графики Precision

Сообщение Alex » Чт фев 28, 2013 2:09 pm

/*
pChart prec.php v.1.0.0

------------------- Parameters

&p= - object.value(!)
&width= - 260*
&height= - >=180 210*
&px= - precision (10*)
&unit= - ""*
&title= - ""*
&scale= - 1(SCALE_NORMAL)/-*(SCALE_START0)
&line= - width of line (1*)
&point= - radius of points (1*)
&points= - 1/-* draw points
&grid= - 1/-* grid
&border= - 1/-* border

//------------------- Objects

&p= - object1.value
&p2= - object2.value
&p3= - object3.value
&p4= - object4.value
&p5= - object5.value
&p6= - object6.value
&p7= - object7.value
&p8= - object8.value
&p9= - object9.value

&n1= - name of object1
&n2= - name of object2
&n3= - name of object3
&n4= - name of object4
&n5= - name of object5
&n6= - name of object6
&n7= - name of object7
&n8= - name of object8
&n9= - name of object9

//period(!)
&type=1z - 1 месяц
&type=1d - 1 день
&type=1h - 1 час
&type=1m - 1 минута
//custom period
&start=13/02/6 - дата начала
&interva=86400 - период в секундах (1 день)
&resolution=900 - разрешение в секундах
&today= - 1/-* today (0:00-23:59), &type required

//types of graphics(!)
&gtype=
curve - drawCubicCurve
bar - drawBarGraph
line - drawLineGraph
plot - drawPlotGraph
fline - drawFilledLineGraph
fcurve- drawFilledCubicCurve

//------------------- Colors

//one (first) channel generic color
&gcolor= - (generic colors)

//generic channels colors
&g1color= - generic colors (-*)
&g2color= - generic colors (-*)
&g3color= - generic colors (-*)
&g4color= - generic colors (-*)
&g5color= - generic colors (-*)
&g6color= - generic colors (-*)
&g7color= - generic colors (-*)
&g8color= - generic colors (-*)
&g9color= - generic colors (-*)

//custom (RGB) channels colors
&c1r=, &c1g=, &c1b= - color of channel 1 (-*)
&c2r=, &c2g=, &c2b= - color of channel 2 (-*)
&c3r=, &c3g=, &c3b= - color of channel 3 (-*)
&c4r=, &c4g=, &c4b= - color of channel 4 (-*)
&c5r=, &c5g=, &c5b= - color of channel 5 (-*)
&c6r=, &c6g=, &c6b= - color of channel 6 (-*)
&c7r=, &c7g=, &c7b= - color of channel 7 (-*)
&c8r=, &c8g=, &c8b= - color of channel 8 (-*)
&c9r=, &c9g=, &c9b= - color of channel 9 (-*)

//generic colors
red (220,50,50)
orange(220,190,50)
blue (100,140,220)
green (100,220,140)
brown (220,140,100)
gray* (150,150,150)

//background colors
&bcolor= - color background (-*)
bgcolor= - background graphics (-*)
&bg_r=,&bg_g=,&bg_b= - background custom colors RGB (-*)

//------------------- Filters

//"analog" filter 01
&c1fil01= - for channel 1
&c2fil01= - for channel 2
&c3fil01= - for channel 3
&c4fil01= - for channel 4
&c5fil01= - for channel 5
&c6fil01= - for channel 6
&c7fil01= - for channel 7
&c8fil01= - for channel 8
&c9fil01= - for channel 9

"digital" filter 02
&c1fil02= - for channel 1
&c2fil02= - for channel 2
&c3fil02= - for channel 3
&c4fil02= - for channel 4
&c5fil02= - for channel 5
&c6fil02= - for channel 6
&c7fil02= - for channel 7
&c8fil02= - for channel 8
&c9fil02= - for channel 9

//------------------- Analytics

&remove= - 1/-* remove serie1 & serie2
&middle= - 1/-*

//------------------- Notes

! - required
* - by default
- - none
*/
Вложения
prec.zip
prec.php
(6.4 КБ) 357 скачиваний
4.png
4
4.png (22.57 КБ) 10276 просмотров
За это сообщение автора Alex поблагодарил:
ABola (Пн янв 25, 2016 4:10 pm)
Рейтинг: 1.16%
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Модуль графики Precision

Сообщение sergejey » Чт фев 28, 2013 2:17 pm

Клёво! В виду того, что весь проект это большой эксперимент, я добавлю этот модуль в общую ветку )

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Модуль графики Precision

Сообщение Alex » Чт фев 28, 2013 4:30 pm

Версия 1.0.1 :)
Вложения
prec101.zip
Версия 1.0.1
(6.56 КБ) 341 скачивание
За это сообщение автора Alex поблагодарил:
ABola (Пн янв 25, 2016 4:17 pm)
Рейтинг: 1.16%
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Модуль графики Precision

Сообщение sergejey » Пт мар 01, 2013 1:33 pm

Обновил :)
Для периодических обновлений было бы хорошо подключиться на GitHub и через него отправлять изменения -- там придётся конечно разобраться немного, но за то потом удобней совместную разработку вести.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
PAV
Сообщения: 968
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 71 раз
Поблагодарили: 95 раз

Re: Модуль графики Precision

Сообщение PAV » Пт фев 07, 2014 5:10 pm

Почему у меня на всех графика так страшно режется шрифт? Нид хелп.
Вложения
1221.png
1221.png (6.3 КБ) 9431 просмотр
PAV
Сообщения: 968
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 71 раз
Поблагодарили: 95 раз

Re: Модуль графики Precision

Сообщение PAV » Ср фев 26, 2014 10:03 am

Блин, поставлю вопрос по другому - что поменять, чтобы изменить цвет шрифта?
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Модуль графики Precision

Сообщение Alex » Ср фев 26, 2014 10:48 am

Почему у меня на всех графика так страшно режется шрифт?
Этого никто не знает, даже я. Дело в том, что разработка велась на светлой теме и все тесты проводились на ней же. Чёрная тема ещё ждёт своего адепта. :)

Начать рекомендую с фрагмента

Код: Выделить всё


//---------------------------- Set [bgcolor] background graphics (R,G,G,1/Y)

 if       ($_GET['bgcolor']=='red')  {$Test->drawGraphAreaGradient(250,210,210,5);
 } elseif ($_GET['bgcolor']=='blue') {$Test->drawGraphAreaGradient(170,220,250,5);
 } elseif ($_GET['bgcolor']=='green'){$Test->drawGraphAreaGradient(220,250,220,5);
 } else { } 
  
//---------------------------- Shadow
 
 $Test->clearShadow();

//---------------------------- Scale

 if ($_GET['scale']=='1') {$scale=1;}
  else {$scale=3;}
   
//---------------------------- drawScale
 
 $Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),$scale,80,80,80,TRUE,0,2);

Истина где то там. :)
Ответить