а как быть, если плотность значений не равномерно распределена по времени? если значение меняется несколько раз в день,но несколько дней новых значений не было, то график за месяц покажет плавное изменение, включающее каждый день, хотя реально за какой-то день данных не было, а в другой день они резко менялись.Не лучше ли сначала растянуть массив на ширину графика, а потом втыкать ненулевые (значимые) отсчёты пропорционально времени. Гарантированно на график попадут _все_ значения. Потерять в этом случае ничего не получится, даже если очень захотеть.
Эффективность алгоритма
Модератор: immortal
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Эффективность алгоритма
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Эффективность алгоритма
Нет, идея не в этом. Если какой-то гений на двухстах точках попробует отобразить 2592000 отсчётов, то по любому они сольются.Quote:
Не лучше ли сначала растянуть массив на ширину графика, а потом втыкать ненулевые (значимые) отсчёты пропорционально времени. Гарантированно на график попадут _все_ значения. Потерять в этом случае ничего не получится, даже если очень захотеть.
а как быть, если плотность значений не равномерно распределена по времени? если значение меняется несколько раз в день,но несколько дней новых значений не было, то график за месяц покажет плавное изменение, включающее каждый день, хотя реально за какой-то день данных не было, а в другой день они резко менялись.

Нет! Никакого плавного изменения. В данном примере на день приходится примерно 6 точек. И они всё (или часть из них) будут чёрными, а соседние дни останутся белыми. Если наш гипотетический гений будет отслеживать активность PIR датчиков за месяц на графике длиной в 25то график за месяц покажет плавное изменение


Надо разделить «аналоговые» графики и отслеживание единичных событий в разные модули.
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Эффективность алгоритма
Я пока в общие исходники поставил свой упрощённый алгоритм, который с некоторыми ограничениями (описанными выше) работает. Всё ж лучше, чем тормозной первоначальный. Далее будем доводить уже до ума и, возможно, разделять построение графиков для особенных случаев.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Эффективность алгоритма
А у меня графический модуль жутко кривой и написанный за полчаса работает. Всё ждал пока ошибки проявятся, а он работает себе и работает. Без замечаний. Нет стимула лезть туда и наводить порядок. В конце концов какая разница, что у него внутри, если снаружи всё ок.
Следующий шаг в этом направлении — модуль статистики и аналитики. Потихоньку ваяю в соответствии со своими потребностями и в меру своей фантазии.
Следующий шаг в этом направлении — модуль статистики и аналитики. Потихоньку ваяю в соответствии со своими потребностями и в меру своей фантазии.
- Вложения
-
- stat
- stat.png (29.08 КБ) 5171 просмотр
-
- Сообщения: 867
- Зарегистрирован: Вт янв 17, 2012 12:31 pm
- Благодарил (а): 121 раз
- Поблагодарили: 78 раз
Re: Эффективность алгоритма
классно Alex....ждем когда Сергей добавит в исходники такие варианты как ты сделал...
задачи думаю у многих совпадают, особенно по отоплению...
задачи думаю у многих совпадают, особенно по отоплению...