procedure DrawMinors(AFixedCoord: Integer; AMin, AMax: Double);
const
EPS = 1e-6;
var
j: Integer;
minorMarks: TChartValueTextArray;
m: TChartValueText;
begin
if IsNan(AMin) or (AMin = AMax) then exit;
for j := 0 to Minors.Count - 1 do begin
minorMarks := Minors[j].GetMarkValues(AMin, AMax);
if minorMarks = nil then continue;
with FHelper.Clone do
try
FAxis := Minors[j];
// Only draw minor marks strictly inside the major mark interval.
FValueMin := Max(FAxisTransf(AMin), FValueMin);
FValueMax := Min(FAxisTransf(AMax), FValueMax);
if FValueMax <= FValueMin then
continue;
ExpandRange(FValueMin, FValueMax, -EPS);
FClipRangeDelta := 1;
try
BeginDrawing;
for m in minorMarks do
DrawMark(AFixedCoord, FHelper.FAxisTransf(m.FValue), m.FText);
finally
EndDrawing;
end;
finally
Free;
end;
end;
end;