MATLAB Answers

Change units of colorbar

96 views (last 30 days)
ARP on 12 Mar 2019
Commented: ARP on 26 Mar 2019
How can I change the units of the colorbar? The image has units in the logarithm scale. I would like to show the tick labels of the colorbar in the linear scale.
The tick labels in the colorbar display show (-1.5, -1, -0.5, 0, 0.5, 1). I would like to chage them to the linear scale, (0.03,0.10,0.32,1.00,3.16,10.00).
Is thre a way to do that without affecting the interval of the image? I have tried with c. Limits = [10^(-1.6) 10^(1.2)]. It does the job on chaging the scale bar, but also changes the image to the linear scale. I don't mind to write it manually, but how to do it?.
I also tried as in the example colorbar doc, but returns : Index exceeds matrix dimensions.
c('Ticks', [-1.5,-1,-0.5,0,0.5,1],'Ticklabels',[0.03,0.10,0.32,1.00,3.16,10.00]);
Here is the code for the image:
imagesc(x_axis,distance_subset,log10(AV_c_3(1:end,:)),[-1.6 1.2]);
c = colorbar('location', 'SouthOutside');
axis image
xlabel('Lateral length (mm)')
ylabel('Depth (mm)')
Thanks in advance


Sign in to comment.

Answers (1)

Naman Bhaia
Naman Bhaia on 21 Mar 2019
Hello Andres,
What I understood from your question is that you just want to change the X-axis labels. Since you said that you are willing to do it manually, have a look at this link and see if it helps.


ARP on 25 Mar 2019
Hi Naman,
Thanks for the reply. I tryed your suggestion but it applies to the figure, not the colorbar.
I have changed the colorbar units with powerpoint, which is not ideal, but good enough for now.
Some simple things are somehow very difficult in matlab.
Does anybody have other ideas?
Image Analyst
Image Analyst on 26 Mar 2019
The help for colorbar() has an example showing you how to change the tick labels:
ARP on 26 Mar 2019
Yes thanks, that is were I looked in first place.
That is why I tried: ( change colobar units from the logarithm to linear scale)
c = colorbar('location', 'SouthOutside');
c('Ticks', [-1.5,-1,-0.5,0,0.5,1],'Ticklabels',[0.03,0.10,0.32,1.00,3.16,10.00]);
And returns the following error:
Index exceeds matrix dimensions.
Error in comparison_short_vs_long (line 603)
c('Ticks', [-1.5,-1,-0.5,0,0.5,1],'Ticklabels',[0.03,0.10,0.32,1.00,3.16,10.00]);

Sign in to comment.

Translated by