GetAxisLabel总是为ValueIndex传递-1

时间:2013-03-15 19:59:16

标签: teechart

我需要能够在TeeChart Standard 2012图表上格式化X轴标签。我正在处理GetAxisLabel事件,但ValueIndex始终为-1。

我找到了一些文档:

轴标签是值。 在这种情况下,Series参数将为nil,ValueIndex将为-1。

Axis Labels是系列积分。 Series参数将是有效的TChartSeries,ValueIndex将是当前的Series点位置。

问题是我找不到将Axis Labels设置为系列点的方法。

有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

您需要将LabelStyle设置为:

  Chart1.Axes.Bottom.LabelStyle:=talPointValue;

  Chart1.Axes.Bottom.LabelStyle:=talText;

在你的图表中。然后你就能做到这样的事情:

procedure TForm2.Chart1GetAxisLabel(Sender: TChartAxis; Series: TChartSeries;
  ValueIndex: Integer; var LabelText: string);
begin
  if ((Series <> nil) and (ValueIndex <> -1)) then
  begin
    LabelText:=FormatFloat('#.00', Series.XValue[ValueIndex]);
  end;
end;

但是,使用AxisValuesFormat属性实现上述方法更容易:

  Chart1.Axes.Bottom.AxisValuesFormat:='#.00';