How to set explicit contour plot colors for specific value ranges

2 views (last 30 days)
Is it possible to set plot colors for specific value ranges?
I have defined the colormap as follows:
map = [0 1 0;
0 1 1;
0 0 1;
0 0.5 1;
1 1 1;
1 1 0.5;
1 1 0;
1 0.5 0;
1 0 0];
colormap(map);
caxis([-1 1]);
Can the colormap be somehow tied to the value ranges given in the table?

Accepted Answer

Ameer Hamza
Ameer Hamza on 14 Mar 2020
Edited: Ameer Hamza on 14 Mar 2020
You will need to create a map matrix where the number of rows of a specific color is directly proportional to the length of its interval. Try this
Levels = [-8 -7 -5 -3 -1 1 3 5 7 8]/8;
num_points = diff(Levels)*8; % multiplied by 8 so that after scaling all elements will be integers
colors = [0 1 0;
0 1 1;
0 0 1;
0 0.5 1;
1 1 1;
1 1 0.5;
1 1 0;
1 0.5 0;
1 0 0];
map = [];
for i=1:numel(num_points)
map = [map; repmat(colors(i,:), num_points(i), 1)];
end

More Answers (0)

Categories

Find more on Color and Styling in Help Center and File Exchange

Tags

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!