How do I reformat the colorbar values from scientific notation to standard notation?

I am trying to figure out how to edit the format of the labels on the colorbar. From the sample code:
clear all; close all; clc;
A = rand(100,100)./(1e2);
figure; imagesc(A); colormap jet; colorbar;
The figure's colorbar labels are 1 through 9 with a "x 10^-3" at the top. How do I format the labels such that they show .001, .002, ....., .009 ? I need this to be dynamic, i.e. the range may change w/ the data I am displaying, so I cannot hardcode in tick labels.
Any thoughts? Thank you in advance! Kristin

 Accepted Answer

There is no way to turn that off without setting the tick labels.
Each time you set a new data range, you can
set(Colormap_axis, 'YTickLabel', cellstr(str2num(reshape(get(Colormap_axis, 'YTick'),[],1),'%0.3f')) )
(adjust the %0.3f as appropriate

2 Comments

Thanks, Walter. For future users, I think the str2num should instead be num2str, but with this adjustment it seems to work. Thanks!

Sign in to comment.

More Answers (0)

Categories

Find more on Graphics Object Properties 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!