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

44 visualizzazioni (ultimi 30 giorni)
Mr M.
Mr M. il 23 Giu 2017
Modificato: Thorsten il 7 Ago 2018
I would like to make axis invisible but not the xlabel and ylabel text

Risposte (2)

Akira Agata
Akira Agata il 24 Giu 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 Commento
Mr M.
Mr M. il 3 Lug 2018
Modificato: Mr M. il 3 Lug 2018
set(gca,'ycolor','w') makes the ylabel white for me too!

Accedi per commentare.


Thorsten
Thorsten il 7 Ago 2018
Modificato: Thorsten il 7 Ago 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

Community Treasure Hunt

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

Start Hunting!

Translated by