Main

Мастер подготовки графиков

На данной странице располагается "мастер", с помощью которого можно получить код для размещения графиков в системе

Объект:
Свойство:
Период:
Единицы измерения:
Тип графика:
Ширина графика: px
Высота графика: px
Цвет фона:
Цвет линии:
Выводить уровень "нуля":
Расстояние между точками графика: px (по горизонтали)
Апроксимация значений: (по-умолчанию)
(для параметров типа "время жизни")
(для параметров типа "датчик движения")
 
 
 

Обсуждение

 

sergejey: Обсуждение страницы Мастер подготовки графиков Сделал вот такой вот "визард", чтобы было легко и просто получать код для графиков. Пока сделано только для стандартного алгоритма.

Urbas81: Eкого-то видел графики совмещенные, как можно так сдлать, например разными цветами наложить несколько линий на одном графике.

na_krul: Сергей, я воспользовался вашим мастером - график не отображается. Начал копать pchart чувствительно к регистру (на линуксе). С pChart работает.

sergejey: Ага, спасибо за наводку -- подправил.

kbnn: А почему по оси y всегда градусы-Цельсия? Как это изменить?

sergejey: А почему по оси y всегда градусы-Цельсия? Как это изменить? Я добавил в мастер параметр "единицы измерения". Без мастера можно просто добавить в ссылку на график параметр "unit". Например в конце приписать: &unit=kW

kbnn: А почему по оси y всегда градусы-Цельсия? Как это изменить? Я добавил в мастер параметр "единицы измерения". Без мастера можно просто добавить в ссылку на график параметр "unit". Например в конце приписать: &unit=kW Спасибо, а есть список параметров которые можно изменять?

sergejey: Спасибо, а есть список параметров которые можно изменять? Так они в Мастере все перечислены -- итоговый код ссылки покажет как они называются в параметрах.

kbnn: Спасибо, а есть список параметров которые можно изменять? Так они в Мастере все перечислены -- итоговый код ссылки покажет как они называются в параметрах. Так вот оказалось не все. Еще бы хотелось изменить название графика, сейчас оно равно Имени_объекта.свойство, а хотелось бы по русски написать.

elik745i: Не подскажете как связать слайдер с кодом? Допустим время указанное в таком коде: <div align="center">Температура в Гараже (12ч)<div align="center"><img src="/pChart/?p=GarageTS.temp&unit=*C&type=12h&gtype=curve&width=280&height=200&px=10"> параметр &type=12h Добавить объект слайдер выше графика и иметь возможность менять время? Какой код вписать в в объекте слайдер и как указать переменную в параметре &type=12h?

sergejey: Не подскажете как связать слайдер с кодом? Допустим время указанное в таком коде: <div align="center">Температура в Гараже (12ч)<div align="center"><img src="/pChart/?p=GarageTS.temp&unit=*C&type=12h&gtype=curve&width=280&height=200&px=10"> параметр &type=12h Добавить объект слайдер выше графика и иметь возможность менять время? Какой код вписать в в объекте слайдер и как указать переменную в параметре &type=12h? Если через меню, то можно сделать так: 1. Добавить свойство в объект, например GarageTS.TimePeriod 2. Добавить слайдер длительности (в часах) и привязать его к этому свойству 3. Добавить HTML-блок с кодом выше, только вместо &type=12h поставить &type=h да, и поставить на HTML-блок период авто-обновления небольшой, если нужно, что бы сразу график менялся при изменении значения времени на слайдере.

Grizzluka: использую такой код но в графике линия уходит в низ что можно сделать показания с дачика берется к примеру ( 27.20 ) <img src="/pChart/?p=ThisComputer.Temp10&unit=C&type=1h&gtype=curve&width=250&scale=zero&px=10">

Bagir: А вот, к стати, у меня тоже так. MDM сейчас у меня работает на другом апачи, не том, что в дистрибутиве с установкой. Да и скуль другой. Просто на этом компе уже есть сервер и сайт. Комп под WinXP_32. Но не суть. Я ставил MDM на отдельный компьютер с Win7_64 со всем его своим. Ситуация та же. Сразу после установки можно видеть погоду слева в меню "климат". Так вот, температура там есть. Задана была изначально так: <img src="/pChart/?p=ThisComputer.TempOutside&type=48h&width=280&gtype=curve&px=15&%rand%"> Данные пишутся. Вижу это в панели управления, закладка Веб переменные. Там внизу есть ссыль Лог событий: Показать/Скрыть. А так же Связанный объект.Свойство: ThisComputer TempOutside Но в графике только косая черта. Я еще полный новичок в MDM, да и PHP тоже. В чем может быть дело?

Vit: А вот, к стати, у меня тоже так. MDM сейчас у меня работает на другом апачи, не том, что в дистрибутиве с установкой. Да и скуль другой. Просто на этом компе уже есть сервер и сайт. Комп под WinXP_32. Но не суть. Я ставил MDM на отдельный компьютер с Win7_64 со всем его своим. Ситуация та же. Сразу после установки можно видеть погоду слева в меню "климат". Так вот, температура там есть. Задана была изначально так: <img src="/pChart/?p=ThisComputer.TempOutside&type=48h&width=280&gtype=curve&px=15&%rand%"> Данные пишутся. Вижу это в панели управления, закладка Веб переменные. Там внизу есть ссыль Лог событий: Показать/Скрыть. А так же Связанный объект.Свойство: ThisComputer TempOutside Но в графике только косая черта. Я еще полный новичок в MDM, да и PHP тоже. В чем может быть дело? попробуйте в данном объекте добавить значение хранить историю например 7 дней http://c2n.me/iKyazK.png

Bagir: Я вижу как можно изменить время хранения свойства у класса. Но не у объекта. Дело в том, что у меня сейчас практически не измененный MDM. Есть класс Computer, но у него нет свойства температуры. Зато у него есть объект ThisComputer у которого есть свойство TempOutside. Я только сейчас пробую разобраться что за что отвечает, и что есть Классы, Объекты, и их Свойства и Методы. Так что если где туплю, пожалуйста поправьте. Суть и определения этих вещей я знаю. Много лет в программировании. Но применимо к MDM столкнулся только сейчас.

Vit: добавьте свойство классу http://c2n.me/iKAmtz.png и в скрипте где получаете температуру нужно убрать "+"

Bagir: Спасибо за совет! Я уже добавил в класс Computer свойство TempOutside с сохранением истории. ПО идее объект ThisComputer его наследует от своего класса. Так и должно быть. А вот убрать + тут? Температура воздуха (.+?)

Bagir: Разобрался! Кстати это небольшой баг. Вначале свойство TempOutside было не у класса Computer а у объекта этого класса ThisComputer. История не сохранялась, т.к. это можно задать у свойства класса а не у свойства объекта. Но после создания у класса Computer свойства TempOutside с сохранением истории, график тоже не ожил. А дело в том, что у объекта ThisComputer это свойство TempOutside тоже осталось. Вначале (ну или потом) нужно было удалить одноименное свойство TempOutside у объекта , а потом добавить у класса. Ну и возможно пересохранить где получаем веб переменные. Теперь все работает! Большое спасибо Vit

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

Palko: а у меня так ничего и не заработало. все сделал как вы выше написали. ThisComputer.TempOutside удалить не могу..(

Bagir: По сути абсолютно все равно как называется свойство и где оно находится. Главное, чтобы в классе у этого свойства было указано "Хранить историю", и этому свойству периодически присваивались данные. Причем тоже без разницы от куда. Либо от датчика, либо методом другого объекта. А вообще конечно по началу трудновато было въехать. И я задавал довольно глупые вопросы ,не понимая сам чего хочу услышать. Но потом все упорядочилось и встало на свои места. Идея объектов просто великолепная.

Palko: свойство TempOutside объекта ThisComputer.. история хранится, посмотреть могу. текущая температура отображается, график не работает, падающий(

Vit: свойство TempOutside объекта ThisComputer.. история хранится, посмотреть могу. текущая температура отображается, график не работает, падающий( выложите скрины объект и код графика

Palko: Только что заработало!) Как только появилась первая запись в истории свойства TempOutside, до этого там было пусто. ss6.JPG Хотя в истории веб переменной полно значений. ss5.JPG ss4.JPG

Bagir: Да да да, я тоже первый раз на этом попался ))

Bagir: Сейчас я храню историю температуры по комнатам в объектах класса Rooms с периодом хранения год. А период хранения у датчика оставил 5 дней. При изменении температуры объекта датчик, он проверяет не получены ли "запредельные" показания, и отправляет ее в объект комната. Мне показалось так будет удобнее. т.к. в объектах комнат собираются вместе разные данные. Движение, влажность, температура и т.п. Но тут конечно дело вкуса.

Vit: http://c2n.me/iSxwYJ.jpg "+" лишний в значении....его надо обрезать

seredaneo: Ребят, подскажите. Я вывожу график температуры, и при изменении периода, временная шкала меняется, а сам график нет.

Bagir: А у меня все получилось со всеми тремя графиками <img src="/jpgraph/?p=KitchenArea.Temperature&type=%ThisComputer.period%h&width=430&title=Температура"> <img src="/pChart/?p=KitchenArea.Temperature&type=%ThisComputer.period%h&width=430&title=Температура"> <img src="/pChart2/?p=KitchenArea.Temperature&type=%ThisComputer.period%h&width=430&title=Температура"> период обновления от балды поставил 2 секунды. График не дергается, а при изменении свойства ThisComputer.period сразу перестраивается. %ThisComputer.period%h h- часы Объект.Свойство должно быть обрамлено % Свойство слинковано со слайдером. Дергаем слайдер, графики сразу перестраиваются.

Amarok: Screenshot_8.jpg Хочу заголовки отцентрировать. А как? <center><img src="/pChart/?p=USD.rate&unit=р&type=7d&gtype=bar&width=500&gcolor=green&px=10&title=Курс доллара (%USD.rate% руб за 1 доллар)"><img src="/pChart/?p=EUR.rate&unit=р&type=7d&gtype=bar&width=500&gcolor=green&px=10&title=Курс евро (%EUR.rate% руб за 1 евро)"><br>
<
img src="/pChart/?p=UAH.rate&unit=р&type=7d&gtype=bar&width=500&gcolor=green&px=10&title=Курс гривны (%UAH.rate% руб за 10 гривен)"><img src="/pChart/?p=CNY.rate&unit=р&type=7d&gtype=bar&width=500&gcolor=green&px=10&title=Курс китайского юаня (%CNY.rate% руб за 10 юаней)">
</
center

adzam: Самое простое это поставь пробелов перед надписью &nbsp;&nbsp;&nbsp;&nbsp;Курс доллара ( руб за 1 доллар)

Amarok: Неее... Не вариант)

gagarin74: как "вывести" одновременно два графика ? Есть ли возможность ?

Amarok: как "вывести" одновременно два графика ? Есть ли возможность ? Хотелось бы....

skysilver: как "вывести" одновременно два графика ? Есть ли возможность ?Использовать модули Analog (viewtopic.php?f=4&t=539) или Multi Analog (viewtopic.php?f=4&t=543). Как альтернатива - это Highcharts, но для них порог вхождения в плане навыков программирования гораздо выше. Мой вариант использования графиков Highcharts типа Spline с несколькими осями можно посмотреть здесь viewtopic.php?t=1783&p=21282#p21282 Вариант графиков Highcharts типа Bars может выглядеть, например, так:Screenshot_2015-06-26-10-02-44.jpg

gagarin74: как "вывести" одновременно два графика ? Есть ли возможность ?Использовать модули Analog (viewtopic.php?f=4&t=539) или Multi Analog (viewtopic.php?f=4&t=543). Как альтернатива - это Highcharts, но для них порог вхождения в плане навыков программирования гораздо выше. Мой вариант использования графиков Highcharts типа Spline с несколькими осями можно посмотреть здесь viewtopic.php?t=1783&p=21282#p21282 Вариант графиков Highcharts типа Bars может выглядеть, например, так:Screenshot_2015-06-26-10-02-44.jpg так в том то и проблема у меня. Что pChart - работает превосходно а вот все остальное не фурычит. Помогите кто чем может. ошибка такая Fatal error: Call to undefined method pChart::drawTextBox() in /var/www/pChart/pics.php on line 1146 код для формирование графика такой : <img src="/pChart/pics.php?p=dow.dow&objt=pic14c&dca=green"> так же пробовал и другие <img src="/pChart/prec.php?p=upd.upd&type=1h&width=340&unit=Вт&g1color=brown&gtype=line&px=1&c1fil02=2&p2=upd.upd2color=green&c2fil02=2&n1=Общая&n2=Кухня&n3=Плита&labels=1&g2color=blue&p3=dow.dow&g3color=green&c3fil02=2">

skysilver: Я Вам в другой теме отправил архив с содержимым каталога pChart. В нем есть файлы pChart.class, pData.class и pCache.class. Проверьте, что эти файлы имеются и в Вашем каталоге pChart.

gagarin74: вот такая вот зараза получилась с шрифтами

sega6549: добрый день, а есть подробный мануал как составлять эти графики для чайниковтипа меня, облазил все, пробовал разными способами получается только черный экран, вообще вкурить не могу

Ko/|xo3HUk: А как можно задать ширину/высоту графика в процентах, а не в пикселях? Ещё такой баг выловил: есть график с температурой ниже 0. Использую свойство "&scale=zero". Так вот - если с этим свойством использовать свойство "&gtype=curve", то заливка графика происходит снизу! Т.е. не от 0 до текущей отриц. температуры, а с самого низа графика до текущей отриц. температуры. А если использовать свойство "&gtype=line", то заливка происходит нормально - от 0 до текущей температуры. А можно вообще выводить график только линией/кривой без заливки?

Ferit: Решил построить график температуры из показаний Яндекса. http://localhost/pChart/?p=Stavropol.Te ... =250&px=10 Выводит такую строчку: Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 24 bytes) in C:\_majordomo\htdocs\pChart\index.php on line 257 Как решить проблему?

warik: Та же самая история с pChart. PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes) in /var/www/pChart/index.php on line 257 Есть решение? Замена на pChart2 из темы не помогла. memory_limit повысил в 2 раза.

[ Обсудить на форуме ]

 

MajorDomo

Информация

Проекты

Партнёры

edit SideBar

 
 
 

 

Blix theme adapted by David Gilbert, powered by PmWiki