Effacer les filtres
Effacer les filtres

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

52 vues (au cours des 30 derniers jours)
Mr M.
Mr M. le 23 Juin 2017
Modifié(e) : Thorsten le 7 Août 2018
I would like to make axis invisible but not the xlabel and ylabel text

Réponses (2)

Akira Agata
Akira Agata le 24 Juin 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 commentaire
Mr M.
Mr M. le 3 Juil 2018
Modifié(e) : Mr M. le 3 Juil 2018
set(gca,'ycolor','w') makes the ylabel white for me too!

Connectez-vous pour commenter.


Thorsten
Thorsten le 7 Août 2018
Modifié(e) : Thorsten le 7 Août 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

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by