optimized getNearestPoint algo.  made sure that hovered data points are inside the data viewport