How to make axis invisible? But not xlabel and ylabel!

137 views (last 30 days)
I would like to make axis invisible but not the xlabel and ylabel text

Answers (2)

Akira Agata
Akira Agata on 24 Jun 2017
How about overwriting a white axis on the original X- and Y-axis, like:
figure
plot(magic(4));
ax1 = gca;
hold on
ax2 = axes('Position',ax1.Position,...
'XColor',[1 1 1],...
'YColor',[1 1 1],...
'Color','none',...
'XTick',[],...
'YTick',[]);
  1 Comment
Mr M.
Mr M. on 3 Jul 2018
Edited: Mr M. on 3 Jul 2018
set(gca,'ycolor','w') makes the ylabel white for me too!

Sign in to comment.


Thorsten
Thorsten on 7 Aug 2018
Edited: Thorsten on 7 Aug 2018
The trick is to create handles to the labels and use these handles to re-set the color of the labels after the color of the axes has been set to white.
plot(rand(1,10))
h(1) = xlabel('x');
h(2) = ylabel('y');
axesoffwithlabels(h)
Using
function axesoffwithlabels(h)
%AXESOFFWITHLABELS Make axes invisible but not the xlabel and ylabel.
%
% AXESOFFWITHLABELS(H) makes axes invisible, keeping the x- and ylabel
% with handle H.
%
% Sample Usage
% plot(rand(1,10))
% h(1) = xlabel('x');
% h(2) = ylabel('x');
% axesoffwithlabels(h)
%
% Thorsten.Hansen@psychol.uni-giessen.de 2018-08-08
set(gca, 'Xcolor', 'w', 'Ycolor', 'w')
set(h, 'Color', 'k')
% get rid of the white ticks and tick labels, moving the labels closer to
% the axes
set(gca, 'XTick', []);
set(gca, 'YTick', []);
end

Categories

Find more on Axes Appearance in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!