| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Звук, графика и видео > TChart график в релаьном времени (как в SCADA) |
| Автор: becks 10.1.2011, 04:23 |
| Добрый день. Такая проблема. В программе необходимо выводить график по, приходящим с приборам значениям температуры, т.е. как в SCADA-системах сдвигать ось X каждый раз влево при добавлении новой точки. Нашел в демках пример, абсолютно то что мне нужно, сделал тоже у себя, не сдвигает ось. Полагаю, что необходимо выставить, какое то свойство у TCharta. Подскажите как мне решить проблему. Второй вопрос, приходящие данные прыгают около значения 1000, как сделать так чтобы, если вновь пришедшее значение <1000, то отрезок от предыдущего до этого значения рисовался зеленым, а если >1000, то оранжевым. Правильно ли понимаю, что надо использовать 2 серии или можно обойтись одной? Большое спасибо. |
| Автор: Alexeis 10.1.2011, 10:37 |
Начало и конец оси Х. Правда есть подозрение что при большом числе точек оно начнет тормозить на добавлении очередной точки. |
| Автор: DimaDD 29.11.2011, 04:50 | ||||
Можно обойтись одной серией, например при добавлении значений с помощью вот такой процедуры AddNewValue:
Предполагается, что серия тут только одна и что она типа TLineSeries, для TFastLineSeries разные цвета у одной серии не определить. А тормозов при ОЧЕНЬ большом количестве значений можно, в принципе, избежать, ежели по мере сдвига окна (min/max по X) удалять первую точку серии, находящуюся уже на достаточно большом расстоянии от Xmin (и сохранять её в массив, а лучше дописывать в файл, на всякий пожарный). В общем, надо организовать работу с записью-чтением значений при смещениях окна по всему диапазону (в т.ч. при его скроллинге вручную)... |