how to change the scale of an colour bar?

26 views (last 30 days)
Puspa patra
Puspa patra on 9 Aug 2018
Edited: Robert U on 9 Aug 2018
Hello, My plot range with variation from 0 to 3500, so I want to use an log scale colour bar instead of normal colour bar scale, so that I can show all the variations. please give some suggestion to change the colour scale of the colorbar into an log scale.

Answers (1)

Robert U
Robert U on 9 Aug 2018
Edited: Robert U on 9 Aug 2018
Hi Puspa patra,
I google'd it for you and found:
Depending on Matlab version, you can go with different approaches. Known from older versions (prior 2018a):
% Create testdata
Data=magic(100);
% Define color levels to create
nLvl = 9;
% get min and max values of Data
minData = min(min(Data));
maxData = max(max(Data));
% define colorbar values on log scale
c = logspace(log10(minData),log10(maxData),nLvl);
% plot data in log-scale according to defined log scale values 'c'
contourf(log(Data),log(c));
% Change colormap to "bone"
colormap(bone);
% define color axis scaling according to 'c'
caxis(log([c(1) c(end)]));
% open colorbar
colorbar('YTick',log(c),'YTickLabel',c);
Kind regards,
Robert

Categories

Find more on Colormaps in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!