Hi,
I guess you could consider this issue as fixed. After I did a workaround to ensure the correct position of the additional graphical elements I reviewed my code. Thereby I noticed that I calculated the unit value as an integer as shown by Nausherwan in his post.
int unit = (int)(width / (dataCount / (double)tickSpacing)+0,5);
chart.Shapes.AddShapeInChart(MsoDrawingType.Line, PlacementType.MoveAndSize, x + unit * 2, 0, x + unit * 2 + 1, 4000, null);
This method works fine for chart entries which are close to the value axis because rounding errors have only a small effect in this situation.
The following lines of code solve the issue
//
double unit = (width *1.0 / (dataCount) );
chart.Shapes.AddShapeInChart(MsoDrawingType.Line, PlacementType.MoveAndSize, x + (int)(unit * index),top + 80, x + (int)(unit * index) , 4000 - (4000 - y - height), null);
Regards
Erik