teechart - TeeChart中不同系列的不同轴

标签 teechart delphi-10-seattle

我将 TChart 与一组在运行时创建的 TFastLineSeries 一起使用。

是否可以将一半系列使用左轴作为 Y 轴,另一半使用右轴,每个轴都有单独的最小值/最大值?

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

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;

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

enter image description here

关于teechart - TeeChart中不同系列的不同轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57042878/

相关文章:

delphi - 在运行时创建系列时,系列未显示在 TeeChart 中?

json - ObjectToJsonString 将第一个字母大写

delphi - 带有TRectangle的GetPropList返回StrokeThickness作为属性,应作为Stroke类的一部分

c++ - 我目前正在使用 C++ builder 6 XE4 开发财务图表。移动到图表 Canvas 上的某个位置时出现异常

德尔福7 : How to print a TChart?

delphi - 为什么在 firemonkey 中 form.show 在 form.create 之前调用?

delphi - 将UTF16转换为Windows 1250

delphi - 使用 TJSONUnMarshal 自定义注册恢复器意外失败

delphi - 以编程方式从表单中删除 TChart

delphi - TFDQuery 和 SQLite : Type mismatch for field, 期望:LargeInt 实际:WideString