формат TDateTime в BottomAxis компонента TChart

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Ответить
valerun
незнакомец
Сообщения: 5
Зарегистрирован: 25.05.2016 00:21:13

формат TDateTime в BottomAxis компонента TChart

Сообщение valerun »

Всем привет, подскажите пожалуйста есть ли возможность в Лазарусе в компоненте TChart нижнюю ось графика реализовать форматом TDateTime? в Делфи такая возможность вроде есть... а вот в Лазарусе формат я не могу задать((
mig-31
постоялец
Сообщения: 224
Зарегистрирован: 14.07.2011 13:46:48

Сообщение mig-31 »

TDateTimeIntervalChartSource
valerun
незнакомец
Сообщения: 5
Зарегистрирован: 25.05.2016 00:21:13

Сообщение valerun »

mig-31 писал(а):TDateTimeIntervalChartSource

Пока решил проблему при помощи OnMarkToText
valerun
незнакомец
Сообщения: 5
Зарегистрирован: 25.05.2016 00:21:13

Сообщение valerun »

Вернемся к вопросу. Ниже на рисунке представлена реализация временных рядов при помощи TDateTimeIntervalChartSource - верхний (черный цвет) график и при помощи OnMarkToText - нижний (красный цвет) график. С OnMarkToText я применял форматирование выводимого текста на нижнюю ось, чтобы получить такой вид подписей. Внимание вопрос: можно ли при помощи TDateTimeIntervalChartSource вывести подобный вид маркеров нижней оси (чтобы было в формате: часы:мин:сек.миллисек) как на красном графике?
Изображение
При помощи нехитрого кода

Код: Выделить всё

Chart2.Extent.UseXMin:=True;
 Chart2.Extent.XMin:=Chart1.XGraphMin;
 Chart2.Extent.UseXMax:=True;
 Chart2.Extent.XMax:=Chart1.XGraphMax;

я делаю выравнивание ОХ нижнего графика по ОХ верхнего графика, однако как видно из рисунка значения не совпадают. При этом исходные размеры чартов одинаковые, но почему то в процессе отрисовки размеры верхнего чарта изменились. Даже если использовать в обоих случаях OnMarkToText (размеры чартов идентичные после отрисовки) крайние значения осей Х не совпадают расхождение в значениях на данный момент замечено в 0.3 секунды. Быть может у кого то есть мысли, как это можно исправить?
Графики где ОХ в чартах реализованы при помощи OnMarkToText (расхождение времен в 0.3 секунды):
Изображение
И, последний вопрос, кто-нибудь знает как и при помощи чего можно автоматически выравнять амплитуду, т.е. ОУ, заданного промежутка времени, чтобы график не вылетал за границы чарта и была видна его форма?
Ответить