TChart轴增加实际值

时间:2014-04-14 13:03:59

标签: delphi teechart

我正在使用TChart标准版本8,并尝试查找实际的TChartAxis.Increment值。从文档:“轴增量是轴标签之间的最小步骤......如果没有足够的空间用于所有标签,TChart将计算更大的标签”。 我的问题是找到适当的MinorTickCount值,或者更确切地说是将它与实际的Increment进行协调。例如,如果增量为5,则默认的MinorTicks值(3)看起来很奇怪(在这种情况下,有5个次要刻度更自然)。 感谢。

例如,我将Increment设置为1,将MinorTickCount设置为0,但TChart将增量增加到5.如果我知道,我会将MinorTickCount设置为4.

1 个答案:

答案 0 :(得分:1)

您可以使用 CalcIncrement 方法实现此目的,例如:

uses Series;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Chart1.Align:=alClient;
  Chart1.AddSeries(TLineSeries).FillSampleValues();

  TrackBar1.Max:=10;
  TrackBar1.Position:=2;

end;

procedure TForm1.Chart1AfterDraw(Sender: TObject);
var tmpIncr: Double;
begin
  tmpIncr:=Chart1.Axes.Bottom.CalcIncrement;
  if Chart1.Axes.Bottom.MinorTickCount<>tmpIncr-1 then
  begin
    Chart1.Axes.Bottom.MinorTickCount:=Trunc(tmpIncr-1);
    Chart1.Draw;
  end;
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
  Chart1.Axes.Bottom.Increment:=TrackBar1.Position;
  Label1.Caption:='Bottom Axis Increment: ' + IntToStr(TrackBar1.Position);
end;