Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.02 c
14-1103731070
Almaz
2004-12-22 18:57
2005.01.09
Каталог оптовых цен на продукты питания в 2003 г.


1-1103795423
TUser
2004-12-23 12:50
2005.01.09
Как может оптимизатор пропускать такое?


4-1101297270
DelphiN!
2004-11-24 14:54
2005.01.09
Вывести Opendialog поверх stayontop окна


3-1102607156
hawkins
2004-12-09 18:45
2005.01.09
не работает IBSQLMonitor


4-1101283739
Sav1977
2004-11-24 11:08
2005.01.09
Windows




   Наверх