我使用的是TChart标准,版本8,并试图找到实际的TChartAxis.Increment值。从文档中:"轴增量是轴标签之间的最小步长……如果没有足够的空间容纳所有标签,TChart将计算一个更大的值"。我的问题是找到合适的MinorTickCount值,或者更确切地说,将其与实际增量相协调。因为默认的MinorTicks值(3)可能看起来很奇怪,例如,如果增量为5(在这种情况下,有5个小刻度更自然)。谢谢
例如,我将Increment设置为1,将MinorTickCount设置为0,但TChart将Increment增加到5。如果我知道的话,我会把MinorTickCount设置为4。
您可以使用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;