MATLAB: View([0 90]) reset by axis

3d plotsaxisview

I have a 3D plot that I sometimes want to view in 2D. "view([0 90])" works as expected, but a following "axis" command will reset the view direction to the default. If I change the command order it works (a fine workaround). I can follow either "view([1 90])" or "view([-1 90])" with an "axis" command, and it works as expected. What is happening?
[X,Y,Z] = peaks(25);
figure
surf(X,Y,Z);
view([0 90])
axis([-3 3 -3 3 -10 10]);
[az el] = view
gives az = -37.5, el=30

Best Answer

This is expected behavior. When using the 'surf' command with the 'view' command and axis limits, axes view of the figure tends to depend on the order in which these commands are issued. So, as you suggested, the right way of doing things is to use the view command after the axes limiting is done.