Помощь - Поиск - Пользователи - Календарь
Полная версия: Возврат Min и Max значений осей из компонента Tchart
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Delphi
AlexSCH
Подскажите пожалуйста, какое свойство или процедура в компоненте TChart позволяет возвратить текущее значение минимального и максимального пределов оси, например, абсцисс (ординат). Дело в том, что необходимо постоянно отслеживать максимум и минимум шкалы отображения по обеим осям (в случае режима отображения Lines)и заносить их, например, в TEdit.
То есть, при первоначальном выводе графиков масштаб по осям выставлен автоматический, вот именно те значения которые после автоматического масштабирования стали минимумами и максимумами отображения по осям нужно и вернуть в TEdit.

Заранее спасибо. smile.gif
volvo
AlexSCH, вообще-то для этого используется Chart1.LeftAxis.Maximum (или Minimum) типа Double, но принимай во внимание следующее:
Цитата(Delphi Help (TChartAxis.Maximum))
VERY IMPORTANT:
Axis.Automatic property must be FALSE.
If Axis.Automatic is True, the Axis will set Maximum and Minimum values to Maximum and Minimum dependent Series values.


P.S. LeftAxis - для оси OY, BottomAxis для оси OX ...
AlexSCH
Дело в том, что мне надо сначало автоматически отмасштабировать график, а затем после масштабирования полученные значения min и max по осяь x и y занести в edit'ы.
Я написал вот так:
Код

{автомасштабирования я применяю для красоты, чтобы при первом построении увидеть сразу все графики целиком}
Chart1.LeftAxis.Automatic:=true;
Chart1.BottomAxis.Automatic:=true;
{после автомасштабирования, я его сбрасываю, так как в дальнейшем может понадобится изменение масштабы вручную}
Chart1.LeftAxis.Automatic:=false;
Chart1.BottomAxis.Automatic:=false;
{значения по х пытаюсь занести в edit'ы, но выдает ошибку, что min по оси должен быть меньше чем max}
Chart1.LeftAxis.Minimum:=strtoint(Edit15.text);
Chart1.LeftAxis.Maximum:=strtoint(Edit16.text);

Как быть, я скорее всего неправильно заношу данные по min и max по оси x в эдиты?
volvo
Цитата(AlexSCH @ 3.08.2006 20:06)
значения по х пытаюсь занести в edit'ы, но выдает ошибку
Ну, допустим, ты НЕ заносишь значения В Edit-ы, а наоборот, пытаешься ИЗ эдитов запихать значения в Min/Max smile.gif

Цитата(AlexSCH @ 3.08.2006 20:06)
Как быть

Edit15.text := FloatToStr(Chart1.LeftAxis.Minimum);
Edit16.text := FloatToStr(Chart1.LeftAxis.Maximum);
?
AlexSCH
В том то и дело, что сначала после автомасштабирования, значения min и max по оси x должны появится в Edit'ах, как начальные, а уже потом по желанию, если нужно изменить крайние значения по оси х, тогда уже пойдет
Код

Edit15.text := FloatToStr(Chart1.LeftAxis.Minimum);

Edit16.text := FloatToStr(Chart1.LeftAxis.Maximum);

То есть, после первого построения и автомасштабирования, в двух полях Edit должны быть крайние значения масштаба по оси х (которые были сформированы автоматическим масштабированием), как это сделать?
volvo
AlexSCH, ты издеваешься?

СЛЕВА от оператора присваивания - куда записать, СПРАВА - откуда... Ну, и что куда записывается???
AlexSCH
Цитата(volvo @ 3.08.2006 22:49) *

AlexSCH, ты издеваешься?

СЛЕВА от оператора присваивания - куда записать, СПРАВА - откуда... Ну, и что куда записывается???


Я извиняюсь за свою неграмотность, я просто начинающий в этом деле.
Огромное спасибо за помощь, все заработало.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.