How to set explicit contour plot colors for specific value ranges

2 次查看(过去 30 天)
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?

采纳的回答

Ameer Hamza
Ameer Hamza 2020-3-14
编辑:Ameer Hamza 2020-3-14
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Color and Styling 的更多信息

标签

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by