Setting Ticks in a Colorbar
901 views (last 30 days)
Show older comments
How do I set the ticks in a color bar to be at specific values?
For example, when I just use the command colorbar('h'), Matlab automatically generates a colorbar with ticks at -10, -5, 0,5,10. I would like the ticks to be at -12 -9,-6,-3,0,3,6,9,12. I tried:
cbh=colorbar('h');
set(cbh,'XTick',[-12:3:12])
This didn't change anything.
Adding the line:
set(cbh,'XTickLabel',{'-12','-9','-6','-3','0','3','6','9','12'})
just relabeled the ticks, but did not change their location (i.e. the value of -10 got labeled '-12')
I also tried this:
cbh=colorbar('h');
cy=get(cbh,'XTick');
set(cy,[-12:3:12])
This set ticks at smaller intervals and labeled them from -70 to 10... I do not understand why.
Does anyone have any other suggestions?
Thanks!
2 Comments
Answers (1)
Jan
on 12 Jan 2013
Matlab's colorbar command creates an image object. See:
cbh = colorbar('h');
get(get(cbh, 'Children'))
>> ...
CData = [ (1 by 64) double array]
DataMapping = direct
XData = [1.5 64.5]
YData = [0 1]
...
Type = image
When you want to change the ticks from -12:3:12, I guess you want 25 different colors in the colorbar.
AxesH = axes('CLim', [-12, 12]);
cbh = colorbar('peer', AxesH, 'h', ...
'XTickLabel',{'-12','-9','-6','-3','0','3','6','9','12'}, ...
'XTick', -12:3:12)
0 Comments
See Also
Categories
Find more on Colormaps in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!