How to remove ticks from the x-axis?

Hi everybody,
I am wondering if there is any way to remove the ticks from only one axis, let say x-axis, when you plot a graph. (TickLength applies the changes to both x- and y-axis which is not what I'd like)
Thank you very much in advance, Vahid

 Accepted Answer

More Answers (3)

Bryan Conklin
Bryan Conklin on 27 Aug 2019
Edited: Bryan Conklin on 27 Aug 2019
h=gca; h.XAxis.TickLength = [0 0];
This will allow you to keep the labels but remove the tick marks on only the x-axis.

2 Comments

Thanks!!!! searched for a long time!
Thank you so much for helping, hope more people can see it. Because your answer is exactly related to the point.

Sign in to comment.

Hossein
Hossein on 18 Oct 2017
but how to keep the numbers?

2 Comments

I use
set(gca,'TickLength',[0 0])
but it will affect the YTick as well.
Thank's, it works.

Sign in to comment.

set(gca,'TickLength',[0 .01])
% where 0 is the length of ticks on the x-axis and
% .01 is the length on the y-axis.
So in this case, the x-axis is "tickless" :)

2 Comments

This is nice, but would there be a way to remove the ticks only on one side of the graph, and not the one facing it? I would like to have ticks on the main axis but no mirror ticks (I have a box around my graph and I do not want ticks on the other sides of the box). Thank you for your help!
oh actually I found this which works great:
plot(1:10)
% get handle to current axes
a = gca;
% set box property to off and remove background color
set(a,'box','off','color','none')
% create new, empty axes with box but without ticks
b = axes('Position',get(a,'Position'),'box','on','xtick',[],'ytick',[]);
% set original axes as active
axes(a)
% link axes in case of zooming
linkaxes([a b])
from:
https://stackoverflow.com/questions/15553720/matlab-remove-only-top-and-right-ticks-with-leaving-box-on

Sign in to comment.

Asked:

on 18 Mar 2012

Commented:

on 5 Apr 2023

Community Treasure Hunt

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

Start Hunting!