MATLAB: How to show both top and bottom or left and right axes tick labels

axisbothlocationlocationsMATLABmultiplexaxislocationyaxislocation

I would like to have axis tick labels on all sides of my plot. I would like the x-axis tick labels to be on the top and bottom of my plot and the y-axis tick labels to be on the left and right of my plot.
Turning the axes border on (with "box on" or by setting the axes 'Box' property to 'on') displays ticks on all sides, but not the corresponding tick labels.
Changing the 'XAxisLocation' or 'YAxisLocation' properties of the axes only toggle the labels, it does not allow me to have left and right or top and bottom labels.

Best Answer

The ability to specify top and bottom or left and right positions for the axes tick labels is not available in MATLAB.
To work around this issue you can add a transparent axes to your plot and specify the 'XAxisLocation' property as 'top' and the 'YAxisLocation' property as 'right', as shown in the following code:
plot(1:10)
box off
axes('xlim', [1 10], 'ylim', [1 10], 'color', 'none', 'YAxisLocation', 'right', 'XAxisLocation', 'top')