TeeChart 中不同系列的不同轴

Different axes for different series in TeeChart

我正在使用 TChart 和一组 TFastLineSeries,创建于 运行 时间。

是否可以将一半系列的左轴用作 Y 轴,另一半 - 右轴,每个轴单独使用 min/max?

我没有看到可以将轴分配给系列或反之亦然的属性。

procedure TForm1.FormShow(Sender: TObject);
var
  sv: TSoundingVol;
  i: Integer;
  serT0, serT05, serUllage, serVCG: TChartSeries;
begin
  sv := TSoundingVol.Create();
  try
    Chart1.ClearChart();
    Chart1.View3D := False;
    Chart1.Legend.CheckBoxes := True;

    Chart1.Axes.Bottom.Title.Text := 'Sounding, m';
    Chart1.Axes.Left.Title.Text := 'Volume, m³';

    serT0 := TFastLineSeries.Create(Chart1);
    serT0.Title := 'At Trim 0 m';

    serT05 := TFastLineSeries.Create(Chart1);
    serT05.Title := 'At Trim +0,5 m (by bow)';

    //Following series should use the right axis and own scaling

    serUllage := TFastLineSeries.Create(Chart1);
    serUllage.Title := 'Ullage (m)';

    serVCG := TFastLineSeries.Create(Chart1);
    serVCG.Title := 'VCG (Vertical Center of Gravity)';

    for i := Low(SB505Data) to High(SB505Data) do begin
      sv.Load(SB505Data[i]);
      serT0.AddXY(sv.Sounding, sv.AtTrim0);
      serT05.AddXY(sv.Sounding, sv.AtTrim0_5);
      serUllage.AddXY(sv.Sounding, sv.Ullage);
      serVCG.AddXY(sv.Sounding, sv.VCG);
    end;
    Chart1.AddSeries(serT0);
    Chart1.AddSeries(serT05);
    Chart1.AddSeries(serUllage);
    Chart1.AddSeries(serVCG);
  finally
    sv.Free();
  end;
end;

在每个系列的基础上,您可以设置要使用的垂直轴。

serUllage.VertAxis := aRightAxis;
serVCG.VertAxis := aRightAxis;

同时使用两个不同比例的轴的示例。