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

39 views (last 30 days)
This is not working for me: axis off; xlabel('something');

Answers (2)

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

Sign in to comment.


Mike Garrity
Mike Garrity on 7 Jul 2015
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
Mr M.
Mr M. on 7 Jul 2015
Edited: Mr M. on 7 Jul 2015
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]"
Mike Garrity
Mike Garrity on 7 Jul 2015
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.

Community Treasure Hunt

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

Start Hunting!