Change amount of ticks on a colorbar

97 visualizaciones (últimos 30 días)
Marc Jakobi
Marc Jakobi el 4 de Sept. de 2013
Editada: Marc Jakobi el 17 de Nov. de 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

Respuesta aceptada

Laurent
Laurent el 4 de Sept. de 2013
Editada: Laurent el 4 de Sept. de 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 comentarios
Marc Jakobi
Marc Jakobi el 4 de Sept. de 2013
Thanks. That did the trick.
Utsav
Utsav el 18 de Mayo de 2016
Thanks it helped me a lot too

Iniciar sesión para comentar.

Más respuestas (1)

Diana
Diana el 17 de Nov. de 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 comentario
Marc Jakobi
Marc Jakobi el 17 de Nov. de 2016
Editada: Marc Jakobi el 17 de Nov. de 2016
You can use linspace.
set(cbr, 'YTick', linspace(a, b, 5));
Where a is the lower tick and b the upper one.

Iniciar sesión para comentar.

Categorías

Más información sobre Colormaps en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by