Y Scale domain adjustment algorithm

Add API endpoint to provide custom y scale domain adjustment algorithm based on new x scale domain.

Close #1079.
not using the accessors properly - accessors expect index as well as val.

please dereference teh accessors as local vars rather than inlined for clarity