如何在色条上做一个不同颜色的一定范围

31次(最近30天)
我创建了一个等高线图,我想使-50和0之间的范围不同于0和50的范围,如下所示
[X,Y]=网格网格(10:5:80,0:1:20);
Z = f([X(:), Y(:)]);
Z1=重塑(Z[21,15]);
数字
轮廓(X, Y, Z1, 15000)
colormaphsv
色条
包含(“\gamma(%)”
ylabel (“\λ(%)”
兹拉贝尔(“m ^ {*} _ {NPV} (B)美元

公认的答案

苏德尔·比米雷迪
苏德尔·比米雷迪 2020年8月8日
8的评论
亚西尔·霍贾
亚西尔·霍贾 2020年8月9日
谢谢Sudheer,我想要的就是我现在拥有的,并且在0到50之间有额外的变化。范围非常小,我正在努力展示。

登录评论。

答案(1)

沃尔特·罗伯森
沃尔特·罗伯森 2020年8月9日
上述函数要求以相对值0到1来定义位置,而不是绝对值。您必须提前决定您的caxis()将是什么,并在该范围内使用比例位置,
Relative_position = (data_x - min_to_map)。/ (max_to_map - min_to_map)
8的评论
沃尔特·罗伯森
水平= [-700 -600 -500 -400 -300 -200 -100 -50 -40 -30 -20 -100 10 20 30 40 50 100 200 300];
[a,b] = contourf(X, Y, Z1, levels);
这本身不会为不同的关卡创建新的颜色映射条目,但它会更清楚地勾勒出它们。
要创建新的colormap条目,您必须遵循我上面概述的策略,即使用复制的插槽创建colormap。

登录评论。

标签

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!