# Increase levels on colorbar

63 views (last 30 days)
Sultan on 28 Nov 2019
Edited: Sultan on 29 Nov 2019
Is there any way to increase or decrease the range of levels on the colorbar ? I plotted a spectrogram, I want to have more levels on the color bar. All I found that I can define the range of the colorbar but not its level. Like I want to have [-140:10:-40] levels but I cannot find any other solution. The image of the color bar is attached
Edited: Adam on 28 Nov 2019
What do you mean by 'levels'?
You can choose the size of your colourmap.
e.g.
cmap = parula( 1024 );
colormap( hAxes, cmap );
where hAxes is your axes handle. Or if you prefer an adhoc approach just
colormap( cmap )
to apply it to whatever is the currently selected axes.
Sultan on 29 Nov 2019
Thanks for the tip. By levels I meant, that currently there is a difference of 20 between the values, I want to decrease this difference to like 5 or 2, so the next value after -40 I see is that of -45 or -42 all the way down to -140.

If you create the colourbar and keep its handle, e.g
hColourbar = colorbar( hAxes );
then you can edit the properties of the colourbar, in particular the 'Ticks' property. Or you can just do it all in one go if you knnow beforehand:
colorbar( hAxes, 'Ticks', -140:2:40 )
although I imagine ticks every 2 samples would look a mess with the labels. Every 5 probably ok.
Sultan on 29 Nov 2019
Edited: Sultan on 29 Nov 2019
Yes exactly, thanks for the tip again. What I did, thought the other way round of changing using:
colorbar
I used the command:
h = colorbar;
set(h,'Ticks',[-140:20:-40])
it did the trick. In addition I got this colorbar from the limits of the colorbar itself:
level= get(h,'Limits');
set(h, 'Ticks', linspace(level(1),level(2),20));

### Categories

Find more on Colormaps in Help Center and File Exchange

R2018a

### Community Treasure Hunt

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

Start Hunting!