![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
AlexSCH |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 36 Пол: Мужской Репутация: ![]() ![]() ![]() |
Подскажите пожалуйста, какое свойство или процедура в компоненте TChart позволяет возвратить текущее значение минимального и максимального пределов оси, например, абсцисс (ординат). Дело в том, что необходимо постоянно отслеживать максимум и минимум шкалы отображения по обеим осям (в случае режима отображения Lines)и заносить их, например, в TEdit.
То есть, при первоначальном выводе графиков масштаб по осям выставлен автоматический, вот именно те значения которые после автоматического масштабирования стали минимумами и максимумами отображения по осям нужно и вернуть в TEdit. Заранее спасибо. ![]() |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
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 |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 36 Пол: Мужской Репутация: ![]() ![]() ![]() |
Дело в том, что мне надо сначало автоматически отмасштабировать график, а затем после масштабирования полученные значения 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 |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата(AlexSCH @ 3.08.2006 20:06) значения по х пытаюсь занести в edit'ы, но выдает ошибку Ну, допустим, ты НЕ заносишь значения В Edit-ы, а наоборот, пытаешься ИЗ эдитов запихать значения в Min/Max ![]() Цитата(AlexSCH @ 3.08.2006 20:06) Как быть Edit15.text := FloatToStr(Chart1.LeftAxis.Minimum);? |
AlexSCH |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 36 Пол: Мужской Репутация: ![]() ![]() ![]() |
В том то и дело, что сначала после автомасштабирования, значения min и max по оси x должны появится в Edit'ах, как начальные, а уже потом по желанию, если нужно изменить крайние значения по оси х, тогда уже пойдет
Код Edit15.text := FloatToStr(Chart1.LeftAxis.Minimum); Edit16.text := FloatToStr(Chart1.LeftAxis.Maximum); То есть, после первого построения и автомасштабирования, в двух полях Edit должны быть крайние значения масштаба по оси х (которые были сформированы автоматическим масштабированием), как это сделать? Сообщение отредактировано: AlexSCH - 3.08.2006 22:47 |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
AlexSCH, ты издеваешься?
СЛЕВА от оператора присваивания - куда записать, СПРАВА - откуда... Ну, и что куда записывается??? |
AlexSCH |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 36 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
![]() ![]() |
![]() |
Текстовая версия | 14.07.2025 16:15 |