You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TeeChart VCL/Delphi 双轴使用求助:求Delphi实现代码示例

Delphi下TeeChart绑定数据系列到第二Y轴的实现示例

核心说明

ChatGPT给出的代码错误在于混淆了TChart和TChartSeries的属性:TChart本身没有VerticalAxis属性,每个数据系列(如TLineSeries、TBarSeries等)才拥有该属性,用于指定当前系列绑定的Y轴。

完整代码示例

以下是在Delphi中实现双Y轴绑定的完整代码,以TLineSeries为例:

procedure TForm1.FormCreate(Sender: TObject);
var
  SeriesMain, SeriesSub: TLineSeries;
begin
  // 清空Chart默认系列
  Chart1.ClearSeries;

  // ===== 创建并配置主系列(绑定左Y轴)=====
  SeriesMain := TLineSeries.Create(Self);
  SeriesMain.ParentChart := Chart1;
  SeriesMain.Title := '主数据系列';
  // 添加示例数据
  SeriesMain.AddXY(1, 8);
  SeriesMain.AddXY(2, 12);
  SeriesMain.AddXY(3, 10);
  SeriesMain.AddXY(4, 15);
  // 主系列默认绑定左Y轴,无需额外设置

  // ===== 创建并配置副系列(绑定右Y轴)=====
  SeriesSub := TLineSeries.Create(Self);
  SeriesSub.ParentChart := Chart1;
  SeriesSub.Title := '副数据系列';
  // 添加与主系列数值范围差异较大的示例数据,便于观察双轴效果
  SeriesSub.AddXY(1, 80);
  SeriesSub.AddXY(2, 120);
  SeriesSub.AddXY(3, 100);
  SeriesSub.AddXY(4, 150);

  // 启用右侧Y轴并绑定副系列
  Chart1.Axes.Right.Visible := True; // 确保右侧轴可见
  SeriesSub.VerticalAxis := vaRight; // 将副系列绑定到右侧Y轴

  // ===== 可选:优化轴的显示样式 =====
  Chart1.Axes.Left.Title.Caption := '主轴数值';
  Chart1.Axes.Left.Title.Font.Color := SeriesMain.Color;
  Chart1.Axes.Right.Title.Caption := '副轴数值';
  Chart1.Axes.Right.Title.Font.Color := SeriesSub.Color;
  Chart1.Legend.Visible := True; // 显示图例区分系列
end;

多额外Y轴的扩展方案

如果需要3个及以上Y轴,可通过创建自定义轴实现:

var
  CustomYAxis: TChartAxis;
begin
  // 创建自定义垂直轴
  CustomYAxis := Chart1.Axes.AddCustomAxis(True); // True表示创建垂直轴
  CustomYAxis.Visible := True;
  CustomYAxis.Position := axRight; // 设置轴显示在右侧
  CustomYAxis.Title.Caption := '自定义轴数值';

  // 将指定系列绑定到自定义轴
  SeriesSub.VerticalAxisCustom := CustomYAxis;
end;

内容的提问来源于stack exchange,提问作者bicou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 03:35:11