MATLAB: “Restore View” limits come from… where

MATLABplotzoom

I'm having some difficulty with a plot in Matlab 2018b. After plotting the data, I select the "Zoom In" option from the axes menu on the top-right, and zoom in and out to inspect the data. I later select "Restore View" from the context menu available when using "Zoom In", expecting it to go back to what it was after I plotted the data. However, I end up with a blank white axes with XLim [0 1]. (Legitimate X limits would be along the lines of [7.3705e+05 7.3740e+05].) Manually setting the X limits reveals that my data plots are still there, but well out of view.
My question is: Where is Matlab getting the limits that should be used when performing "Restore View"?
If needed, here's some more detailed information:
I am using a stack of two axes, directly overlaid on top of each other, inside of a graphics panel. The two axes are linked on the X-axis ("linkaxes([a,b],'x');"). The "upper" axes are set to have no background color, and "PickableParts" has been set to none.

Best Answer

Look in zoom.m function getbounds(), about line 1074. It is axes appdata zoom_zomOrigAxesLimits that it pulls out to make sure you do not zoom out too far.
With you having two axes, then I would worry about the expected axes being the active axes.