Change units of colorbar

Hi,
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]);
colormap(jet);
c = colorbar('location', 'SouthOutside');
axis image
xlabel('Lateral length (mm)')
ylabel('Depth (mm)')
Thanks in advance

Risposte (1)

Naman Bhaia
Naman Bhaia il 21 Mar 2019

0 voti

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.

3 Commenti

ARP
ARP il 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?
Regards
The help for colorbar() has an example showing you how to change the tick labels:
contourf(peaks)
colorbar('Ticks',[-5,-2,1,4,7],...
'TickLabels',{'Cold','Cool','Neutral','Warm','Hot'})
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]);

Accedi per commentare.

Categorie

Richiesto:

ARP
il 12 Mar 2019

Commentato:

ARP
il 26 Mar 2019

Community Treasure Hunt

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

Start Hunting!

Translated by