hi
Here's a snippet from my code, which should help you get started
procedure TBase.AddSeriesToGraph(sLabel : string; xSelField : Tfield; ySelField : Tfield);
var NewSeries : TLineSeries;
MsgRes : TModalResult;
begin
Application.ProcessMessages;
NewSeries := TLineSeries.Create(self);
NewSeries.ParentChart := Chart;
NewSeries.DataSource := Query;
NewSeries.CheckDataSource;
NewSeries.LinePen.Width := 1;
NewSeries.SeriesColor := RGB(Random(256), Random(256),Random(256));
Chart.RightAxis.Increment := 0.0001;
Chart.LeftAxis.Increment := 0.0001;
if Chart.SeriesCount > 2 then
begin
MsgRes := MessageDlg('Scale to Left Axis or Right Axis ? (Yes = Left, No = Right)',
mtConfirmation,[mbyes,mbno, mbCancel],0);
if MsgRes = MRCancel then
begin
NewSeries.Free;
Exit;
end;
if MsgRes = mrYes then
begin
NewSeries.VertAxis := aLeftAxis;
NewSeries.YValues.ValueSource := ySelField.FieldName;
end
else
begin //result = mrNo
NewSeries.VertAxis := aRightAxis;
Chart.RightAxis.LabelsOnAxis := true;
NewSeries.YValues.ValueSource := ySelField.FieldName;
end;
Application.ProcessMessages;
end;
if Chart.SeriesCount = 1 then
begin
NewSeries.VertAxis := aLeftAxis;
NewSeries.YValues.ValueSource := ySelField.FieldName;
Chart.LeftAxis.Title.Caption := ySelField.FieldName;
NewSeries.SeriesColor := RGB(Random(100)+100, Random(100)+100,Random(100)+100);
Application.ProcessMessages;
end;
:
lou