Извини, нет времени смотреть на твой код, Я делал вот так. В принципе все просто, отредактируешь под себя и NULL проблем
Код:
with Chart1 do
begin
//если необходимо можешь задать min X , max Y, min Y , max Y
BottomAxis.Automatic:= False;
DBChart1.BottomAxis.Maximum := ...;
DBChart1.BottomAxis.Minimum := ...;
LeftAxis.Automatic := False;
LeftAxis.Maximum := ...;
LeftAxis.Minimum := ...;
//можешь проверить серию на повтор,например
if SeriesCount > 0 then
begin
for j:=0 to SeriesCount-1 do
begin
if (Series[j].Title = ...) then
exit;
end;
end;
UndoZoom;//востанавливаем исходный масштаб
Title.Text.Clear;
Title.Text.Add('....');//GRAPHIC
LeftAxis.AxisValuesFormat := '##.00';//
BottomAxis.Title.Caption := ...;//подписываем X
LeftAxis.Title.Caption := ...;//подписываем Y
Repaint;
end;
создаём серию
Series := TFastLineSeries.Create(Chart1); //тип FastLine
Series.ParentChart := Chart1; //назначение родительского графика
(Series as TFastLineSeries).LinePen.Width:=1;//толщина
Series.XValues.Order:= LoNone; //чтобы соединялись точки так как их вводят!!!
for j := 1 to StringGrid1.RowCount-1 do
begin
Series.AddXY(strtoint(StringGrid1.Cells[1,j]),strtoint (StringGrid1.Cells[0,j]), '',clRed);
end;
Series.Title := ... ; //
Series.Active := True;
Если что то не получится, пиши