реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Перемещение отдельного графика в TeeChart по оси Y, Двигать например Seres1, при этом Series2 и 3 неподвижны
katmani
сообщение Sep 18 2018, 07:12
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 67
Регистрация: 7-12-05
Из: Ростов-на-Дону
Пользователь №: 11 911



Всем Привет!

Есть ли стандартные средства перемещения и масштабирования отдельных графиков в ТеeChart?
С масштабированием группы графиков (например графики Series1, Series2, Series3 входящих в один Chart1) , проблем нет, меняются минимумы и максимумы по оси-Y у Chart1, и они и двигаются и масштабируются быстро.
Но нужно сдвинуть только один, например красный сдвинуть вверх, но чтобы зеленый остался на месте:


Понятно что можно математически:
Код
for(int i=0;i<Chart1->Series[1]->Count()-1;i++)
Chart1->Series[1]->YValues->Value[i]+=Y;

Но при больших графиках, например по оси-X 690тысяч точек, такой алгоритм откровенно тормозит.
А если масштабировать, т.е. умножать на какойто коэффициент, то могут начальные данные портится (исходные значения не сохраняются), а очищать Series1 заполнять его из какого-то массива с умножением на коэффициент тоже не быстро будет.
Уже два дня копаю TeeChart на эту тему, в нем много всего, но нужное не могу найти.
Может типа какая нибудь локальная система координат для каждого отдельного Series?

Есть еще один вопрос, по поводу стандартного масштабирования в TeeChart, например есть такой график:

он имеет пики 1,2,3, они очень тоненькие, но при отдалении зума они сохраняются, видно на нижнем графике, и изза этого создается впечатление что сигнал на нижнем графике сильно зашумлен, хотя там всего маленькие иголочки были. Это похоже как в осциллографе есть режим PeakDetected, но его в осциллографе можно выключить и эти тонкие пики на отдаленном по зуму сигнале отображаться не будут.
Вот вопрос: как в TeeChart тоже отключить этот режим PeakDetected, т.е. чтобы на отдаленном отображении графика эти иголочки вообще не отображались ?
Вот еще картинка для примера:

Может нестандартными средствами можно такое скрыть (без использования фильтра LowPass) ?
Go to the top of the page
 
+Quote Post
k155la3
сообщение Sep 18 2018, 18:10
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Цитата
Но при больших графиках, например по оси-X 690тысяч точек, такой алгоритм откровенно тормозит.

Тормоз появляется при большом объеме данных, которые надо постоянно обрабатывать при отображении на экране.
Вопрос, зачем их обрабатывать постоянно, ведь они не изменяются ? (по крайней мере основная подавляющая их часть)
Перед отображением информации сделайте ее предв. обработку, наподобие индексации и фильтрации с формированием файлов "ускоренных" индексов, меток итд . (например, для каждого значения масштаба отображения). Тогда "тормоз" будет один раз, при первой загрузке и сканировании массива, а при масштабировании можно пользоваться ускряющими сформированными "индексными" файлами.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th April 2024 - 18:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.02186 секунд с 7
ELECTRONIX ©2004-2016