I would like axis off except xlabel, but this is not working, why?

Answers (2)

set(gca,'xtick',[],'ytick',[],'title',[],'ylabel',[]),

2 Comments

This is not working for me: "invalid object handle" Maybe, the problem is that I am in a subfigure. ?
Try this
h=findobj(gcf,'type','axes')
for k=1:numel(h)
set(h(k),'xtick',[],'ytick',[],'title',[],'ylabel',[]),
end

Sign in to comment.

The axis('off') command turns off the visibility of all of the decorations of the axes. You need to turn the one you want back on:
ax = gca
axis(ax,'off')
xlabel(ax,'something')
ax.XLabel.Visible = 'on'

3 Comments

Within a subplot I have the following commands: axis off; axis image; xlabel('something'); But after that ax = gca; ax.XLabel.Visible = 'on'; is not working for me!
It is not possible, what you have written. The error message is: "Warning: Struct field assignment overwrites a value with class "double". See MATLAB R14SP2 Release Notes, Assigning Nonstructure Variables As Structures Displays Warning, for details. > In myprog at 68
ax =
XLabel: [1x1 struct]"
Sorry, the . notation was introduced in R2014b. It sounds like you're running an earlier version. Something like this should work in both versions:
ax = gca
axis(ax,'off')
xlabel(ax,'something')
set(get(ax,'XLabel'),'Visible','on')
I generally use the dot notation because it's so much easier to read.

Sign in to comment.

Asked:

on 7 Jul 2015

Commented:

on 7 Jul 2015

Community Treasure Hunt

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

Start Hunting!