MATLAB: How to remove the border lines surrounding an axes

axisborderboxMATLABoff

When I make a simple plot, I would like to turn off the border around the axes. However,
box off
removes only part of the border. I have removed all of the tick marks and labels, but there are still 2 border lines present. Is there a way to remove them?
You can reproduce the issue as follows:
hAx = axes;
set(hAx, 'box','off','XTickLabel',[],'XTick',[],'YTickLabel',[],'YTick',[])

Best Answer

The ability to remove all of the border lines surrounding an axes is not available in MATLAB.
Depending on your application, you might be able to use one of the following options as a workaround:
1. You can change the 'XColor' and 'YColor' properties of the axes to match the color of the background of the figure. This makes the axis lines invisible against the figure background. You must also eliminate the tick marks and minor tick marks that extend into the axes. The easiest way to do this is to change their direction such that they point outward, as opposed to inward. For example:
hFig = figure;
plot(1:10)
color = get(hFig,'Color');
set(gca,'XColor',color,'YColor',color,'TickDir','out')
2. Make the axes invisible by setting the axes 'Visible' property to 'off'. For example:
plot(1:10)
set(gca,'Visible','off')