Change amount of ticks on a colorbar

98 visualizzazioni (ultimi 30 giorni)
Marc Jakobi
Marc Jakobi il 4 Set 2013
Modificato: Marc Jakobi il 17 Nov 2016
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

Risposta accettata

Laurent
Laurent il 4 Set 2013
Modificato: Laurent il 4 Set 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 Commenti
Marc Jakobi
Marc Jakobi il 4 Set 2013
Thanks. That did the trick.
Utsav
Utsav il 18 Mag 2016
Thanks it helped me a lot too

Accedi per commentare.

Più risposte (1)

Diana
Diana il 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 Commento
Marc Jakobi
Marc Jakobi il 17 Nov 2016
Modificato: Marc Jakobi il 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.

Accedi per commentare.

Categorie

Scopri di più su Colormaps in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by