Change amount of ticks on a colorbar

112 views (last 30 days)
Hi.
I have a 2D contour
contour(handles.Object,x,y,z,...)
where I set the colour map using an rgb matrix
b = (.23 .6 .8;...
.7 .8 .9;...
etc)
caxis([20 50]);
cbr = colormap(b)
colorbar
By default, the colorbar has seven ticks. What I want to do is create a colorbar in the range between 20 and 50 with a tick right at the bottom marking "20", one right at the top marking "50" and ticks marking 22, 24, 26, 28,... (steps of 2) inbetween.
If I type
set(cbr,'YTickLabel',{'20','22','24','26',[...],'50'})
the colormap only returns the first seven values in the positions of the initial five ticks.
Is there a way to manipulate the AMOUNT and POSITIONS of the ticks so that I can get a colorbar as described above?
Thanks!
Marc

Accepted Answer

Laurent
Laurent on 4 Sep 2013
Edited: Laurent on 4 Sep 2013
The 'YTick' property contains the locations of the ticks on the Y axis, so I guess that
set(cbr,'YTick',20:2:50)
should do the trick.
  2 Comments
Marc Jakobi
Marc Jakobi on 4 Sep 2013
Thanks. That did the trick.
Utsav
Utsav on 18 May 2016
Thanks it helped me a lot too

Sign in to comment.

More Answers (1)

Diana
Diana on 17 Nov 2016
Is there any way to set the number of ticks? I mean whatever the values are, I want always 5 ticks in the colorbar.
  1 Comment
Marc Jakobi
Marc Jakobi on 17 Nov 2016
Edited: Marc Jakobi on 17 Nov 2016
You can use linspace.
set(cbr, 'YTick', linspace(a, b, 5));
Where a is the lower tick and b the upper one.

Sign in to comment.

Categories

Find more on Colormaps in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!