Sometimes a small tick position is added incorrectly.
See LinearAxis.cs function WorldTickPositions_SecondPass():
double pos1 = (double)largeTickPositions[0];
while (pos1 > adjustedMin)
{
pos1 -= smallTickSpacing;
smallTickPositions.Add( pos1 );
}
The pos1 can be added even when it is smaller than
adjustedMin, because the subtraction is done
just before adding to the list without checking.
But we still want to subtract one before we add the
first, since the smallTickPosition shouldn't be the
same as a largeTickPosition.
Solution:
Subtract spacing initially and reverse order within
while loop
double pos1 = (double)largeTickPositions[0] -
smallTickSpacing;
while (pos1 > adjustedMin)
{
smallTickPositions.Add( pos1 );
pos1 -= smallTickSpacing;
}
or place it in for-statement:
for (double pos1 = (double)largeTickPositions[0] -
smallTickSpacing; pos1 > adjustedMin; pos1 -=
smallTickSpacing)
{
smallTickPositions.Add( pos1 );
}