How to set colorbar tick labels between ticks

97 views (last 30 days)
Hi all,
The default setup for Matlab colorbar is to set the tick label just next to the tick (below, above, right of, left of). How do I set the label between two ticks? In the following example, I want 'Decrease', 'Slight Decrease', 'Slight Increase', and 'Increase' between the ticks, while 'No Change' stays below the tick:
Thanks!
ColorbarExample.PNG

Accepted Answer

Neuropragmatist
Neuropragmatist on 9 Aug 2019
Does it matter if the ticks are moved as well?
figure('Position',[200 200 1000 200])
plot(0,0)
cc = colorbar('Location','SouthOutside');
cc.YTick = [0.125 0.375 0.5 0.625 0.875];
cc.YTickLabel = {'Decrease', 'Slight Decrease', 'No Change', 'Slight Increase', 'Increase'};
gives:
untitled.png
Otherwise you could remove the colorbar labels, and use 'text' with the units normalized and position new labels yourself, then they would be relative to the plot, not the colorbar which wouldn't be a perfect solution but might help you this once:
Hope this helps,
M.
  1 Comment
Fabrice Lambert
Fabrice Lambert on 9 Aug 2019
Edited: Fabrice Lambert on 9 Aug 2019
Hi Metioche,
That worked, I defined the contours and the ticks differently:
contourf(XX,YY,Prod,(-1:0.5:1))
cbar = colorbar('Southoutside','Ticks',[-0.8,-0.4,0,0.4,0.8],'TickLabels',{'Decrease','Slight Decrease','No Change','Slight Increase','Increase'});
Thanks,
Fabrice

Sign in to comment.

More Answers (0)

Categories

Find more on Colormaps in Help Center and File Exchange

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!