Use correct scale for drawing points
Calculate extents once for each draw
If user provided y axes values are invalid, ignore them
Remove cruft. Add check for flat lines.