MATLAB Answers

Increase levels on colorbar

41 views (last 30 days)
Sultan
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 attachedColorbar.PNG

  2 Comments

Adam
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
Sultan on 29 Nov 2019
Hi Adam,
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.

Sign in to comment.

Accepted Answer

Adam
Adam on 29 Nov 2019
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.

  1 Comment

Sultan
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));

Sign in to comment.

More Answers (0)

Products


Release

R2018a

Translated by