@evan56,
The behavior is by design so that zooming is limited upto a certain region, so that user doesn’t end up zooming into a blank-region (region with no dataPoints). To zoom into a certain region, there should be a minimum of 3-4 dataPoints over the axis.
When zoomType is either set to ‘x’ or ‘y’, it checks for number of datapoints over specific axis. But when zoomType is ‘xy’ it checks for the datapoints within the selected region over both the axes because of which it gets invalidated in certain cases.
__
Sachin Bisht
Team CanvasJS