if(Chart1->Series[0]->Count()>20)
Chart1->Series[0]->Delete(0); // <-- remove the first point
// Add a new random point
Chart1->Series[0]->AddXY(Chart1->Series[0]->XValues->Last()+1,Chart1->Series[0]->YValues->Last()+(random(ChartSamplesMax)-(ChartSamplesMax/2)),"",clTeeColor);
Как сделать "бегущий" график в TeeChart?
В примерах TeeChart есть решение более менее подходящее под проблему, но как мне кажется не совсем то...
Код:
В данном примере, в случае, если длинна графика превышает 20 точек, сначала удаляется начальная точка, а потом добавляется новая.
Казалось бы то что нужно, но в данном случае происходит постоянное увеличение значения Х при вызове AddXY, что ИМХО не есть хорошо. Т.к. неизвестно, до каких пределов может изменятся это значение и что произойдет при переполнении.
Была идея вместо AddXY использовать функцию AddY. Но в таком случае при удалении точки в начале графика, начинают не корректно добавляться точки в конец.
Собственно какие варианты создания бегущего графика, который будет отображать данные без остановки довольно продолжительное время?
%CBuilder6_Installation_path%\Examples\Teechart\
там были примеры бегущего чарта, если память не изменяет....