Форум: "Основная";
Текущий архив: 2005.01.09;
Скачать: [xml.tar.bz2];
ВнизChart - установить min, max оси Y Найти похожие ветки
← →
Ольга (2004-12-21 17:57) [0]Люди, погите понять, почему меня Delphi не понимает.
Строю график. Ось X задана в дизайнере (от 0 до 25 - часы суток). В программе задаю только значения по Y. Хочу выставить min - чуть меньше минимального значения одной из серий (max - аналогично). Не получается, пишет, что "min должен быть <= max".
Chart1.Series[0].Clear;
Chart1.Series[1].Clear;
for i:=1 to 24 do
begin
Chart1.Series[0].AddY(SelRec^.rdgint[i],"",Chart1.Series[0].SeriesColor);
Chart1.Series[1].AddY(SelRec^.tg[i],"",Chart1.Series[1].SeriesColor);
end;
Chart1.LeftAxis.Automatic:= False ;
Chart1.LeftAxis.Minimum:=Chart1.Series[0].MinYValue-100;
Chart1.LeftAxis.Maximum:=Chart1.Series[0].MaxYValue+100;
← →
MBo © (2004-12-21 18:02) [1]попробуй переставить две последние строчки
← →
olookin © (2004-12-21 18:04) [2]Может быть так:
Chart1.LeftAxis.Automatic:= False ;
Chart1.LeftAxis.Maximum:=Chart1.Series[0].MinYValue-100;
Chart1.LeftAxis.Minimum:=Chart1.Series[0].MinYValue-100;
Chart1.LeftAxis.Maximum:=Chart1.Series[0].MaxYValue+100;
← →
olookin © (2004-12-21 18:09) [3][1] MBo © (21.12.04 18:02)
На самом деле это не поможет, как и [2]. Как я себе представляю, при смене Automatic на true, и максимум, и минимум оба равны 0. Если максимальное значение отрицательное, то не сработает [1], а если минимальное отрицательное - то [2]. Думаю, что проблема решается, если сделать так:
Chart1.LeftAxis.Minimum:=Chart1.Series[0].MinYValue-100;
Chart1.LeftAxis.Maximum:=Chart1.Series[0].MaxYValue+100;
Chart1.LeftAxis.Automatic:= False ;
← →
Ольга (2004-12-21 18:19) [4]Спасибо, стало уже лучше - ось перестраивается. Но при смене объекта (построении нового графика) выдается таже ошибка.
Chart1.Series[0].Clear;
Chart1.Series[1].Clear;
Chart1.LeftAxis.Minimum:=0;
Chart1.LeftAxis.Maximum:=0;
Chart1.LeftAxis.Automatic:= True;
for i:=1 to 24 do
begin
Chart1.Series[0].AddY(SelRec^.rdgint[i],"",Chart1.Series[0].SeriesColor);
Chart1.Series[1].AddY(SelRec^.tg[i],"",Chart1.Series[1].SeriesColor);
end;
Chart1.LeftAxis.Minimum:=Chart1.Series[0].MinYValue-100;
Chart1.LeftAxis.Maximum:=Chart1.Series[0].MaxYValue+100;
Chart1.LeftAxis.Automatic:= False ;
Где ошибка? (в ДНК?)
← →
Ольга (2004-12-21 18:20) [5]Спасибо, стало уже лучше - ось перестраивается. Но при смене объекта (построении нового графика) выдается таже ошибка.
Chart1.Series[0].Clear;
Chart1.Series[1].Clear;
Chart1.LeftAxis.Minimum:=0;
Chart1.LeftAxis.Maximum:=0;
Chart1.LeftAxis.Automatic:= True;
for i:=1 to 24 do
begin
Chart1.Series[0].AddY(SelRec^.rdgint[i],"",Chart1.Series[0].SeriesColor);
Chart1.Series[1].AddY(SelRec^.tg[i],"",Chart1.Series[1].SeriesColor);
end;
Chart1.LeftAxis.Minimum:=Chart1.Series[0].MinYValue-100;
Chart1.LeftAxis.Maximum:=Chart1.Series[0].MaxYValue+100;
Chart1.LeftAxis.Automatic:= False ;
Где ошибка? (в ДНК?)
← →
olookin © (2004-12-21 18:23) [6]А ошибка выдается где?
Тут
Chart1.LeftAxis.Minimum:=0;
Chart1.LeftAxis.Maximum:=0;
Chart1.LeftAxis.Automatic:= True;
или тут
Chart1.LeftAxis.Minimum:=Chart1.Series[0].MinYValue-100;
Chart1.LeftAxis.Maximum:=Chart1.Series[0].MaxYValue+100;
Chart1.LeftAxis.Automatic:= False ;
?
← →
Ольга (2004-12-21 18:27) [7]Ошибка на этой строке:
Chart1.LeftAxis.Minimum:=Chart1.Series[0].MinYValue-100;
← →
olookin © (2004-12-21 18:38) [8]Тогда так попробуйте:
Chart1.Series[0].Clear;
Chart1.Series[1].Clear;
for i:=1 to 24 do
begin
Chart1.Series[0].AddY(SelRec^.rdgint[i],"",Chart1.Series[0].SeriesColor);
Chart1.Series[1].AddY(SelRec^.tg[i],"",Chart1.Series[1].SeriesColor);
end;
Chart1.LeftAxis.SetMinMax(Chart1.Series[0].MinYValue-100,Chart1.Series[0].MaxYValue+100);
← →
Ольга (2004-12-22 17:32) [9]В этом варианте все работает, как надо.
Большое спасибо.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.01.09;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.034 c