Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Setting Ticks in a Colorbar

Asked by Natalya on 12 Jan 2013

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!

0 Comments

Natalya

Products

No products are associated with this question.

1 Answer

Answer by Jan Simon 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

Jan Simon

Contact us