From 17ab5a93101d1faf880034e11376669cb099dd36 Mon Sep 17 00:00:00 2001 From: Sergey Linev Date: Fri, 17 Oct 2025 12:35:42 +0200 Subject: [PATCH] [tgaxis] add epsilon for ticks counts When caclucating number of extra ticks which need to be placed on left or right side of axis add `epsilon` to avoid possible rounding problems. Ensure that minor tick on very begin or very end of axis range is painted --- graf2d/graf/src/TGaxis.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/graf2d/graf/src/TGaxis.cxx b/graf2d/graf/src/TGaxis.cxx index 1cdf77be4bc51..ed82cf1bc0679 100644 --- a/graf2d/graf/src/TGaxis.cxx +++ b/graf2d/graf/src/TGaxis.cxx @@ -1730,7 +1730,7 @@ void TGaxis::PaintAxis(Double_t xmin, Double_t ymin, Double_t xmax, Double_t yma if (fFunction) axis_length0 = binLow-wmin; if ((!optionNoopt || optionInt) && axis_length0) { - nticks0 = Int_t(axis_length0/dxtick); + nticks0 = Int_t(axis_length0/dxtick + epsilon); if (nticks0 > 1000) nticks0 = 1000; xtick0 -= dxtick; // skip first major tick which already was drawn for (k=1; k<=nticks0; k++) { @@ -1775,7 +1775,7 @@ void TGaxis::PaintAxis(Double_t xmin, Double_t ymin, Double_t xmax, Double_t yma if (fFunction) axis_length1 = wmax-binHigh; if ((!optionNoopt || optionInt) && axis_length1) { - nticks1 = int(axis_length1/dxtick); + nticks1 = int(axis_length1/dxtick + epsilon); if (nticks1 > 1000) nticks1 = 1000; xtick1 += dxtick; // skip last major tick which was already drawn for (k=1; k<=nticks1; k++) {