remove certain yticklabels from axis

1 view (last 30 days)
I have a plot that has a yaxis range from 0 to 9.
I only want the yticklabels for 1 to 8 to be visible.
I have tried:
yticks = get(gca,'YTick');
ytickLabels = get(gca,'YTickLabel');
set(gca,'YTick',yticks(1:1:8), 'YTickLabel',ytickLabels(1:1:8));
But this doesnt work. How do I not show the 0 and the 9 on the ytick labels? Thanks

Accepted Answer

Star Strider
Star Strider on 6 Jan 2015
Change the set call to:
set(gca,'YTick',1:1:8, 'YTickLabel',1:1:8);
  2 Comments
Jason
Jason on 6 Jan 2015
Thankyou, I alos just worked out that this works too:
set(gca,'YTick',yticks(2:1:9), 'YTickLabel',ytickLabels(2:1:9));
Star Strider
Star Strider on 6 Jan 2015
My pleasure!
Yes. You can set the 'YTickLabel' vector to whatever you want, including strings (using a cell array). The only restriction is that you have to set the positions of the 'YTick' values, and there have to be equal numbers of 'YTick' and 'YTickLabel' entries.

Sign in to comment.

More Answers (1)

Ilham Hardy
Ilham Hardy on 6 Jan 2015
Edited: Ilham Hardy on 6 Jan 2015
Perhaps,
set(gca,'YLim',[1,8]);
  1 Comment
Jason
Jason on 6 Jan 2015
But then I dont see the 0 and 9 grid line, I need to see these.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!