The axes function creates a new axes rather than changing location of previous one.
To change the location of x axes only, you can try:
ax = gca; % current axes
ax.XAxisLocation='top'; % change location for the created axes
You can read more about changing axes properties through: https://www.mathworks.com/help/matlab/ref/matlab.graphics.axis.axes-properties.html