[improve][axis] improve max value and division of y axis

This commit is contained in:
monitor1394
2022-10-18 08:33:12 +08:00
parent a78eed9c5c
commit b1eae7045b
3 changed files with 16 additions and 4 deletions

View File

@@ -635,12 +635,20 @@ namespace XCharts.Runtime
n++;
}
double mm = bigger;
var pown = Mathf.Pow(10, n);
var powmax = Mathf.Pow(10, n + 1);
var aliquot = mm % pown == 0;
if (mm > 10 && n < 38)
{
mm = bigger - bigger % (Mathf.Pow(10, n));
mm += max > 0 ? Mathf.Pow(10, n) : -Mathf.Pow(10, n);
mm = bigger - bigger % pown;
if (!aliquot)
mm += max > 0 ? pown : -pown;
}
var mmm = mm - Mathf.Pow(10, n) / 2;
var mmm = mm;
if (max > 100 && !aliquot && (max / mm < 0.8f))
mmm -= Mathf.Pow(10, n) / 2;
if (mmm >= (powmax - pown) && mmm < powmax)
mmm = powmax;
if (max < 0) return -Math.Ceiling(mmm > -max ? mmm : mm);
else return Math.Ceiling(mmm > max ? mmm : mm);
}