如何在matlab中设置步骤颜色条?

时间:2015-07-14 00:53:12

标签: matlab colorbar contourf

我想更改Matlab生成的默认颜色条(喷射颜色),尤其是颜色的步骤(如下图所示)。怎么做?

这是我的代码

[hC hC] = contourf(interp2(sal,2,'spline'),[0:0.5:5]);
set(hC,'LineStyle','none','YTick',0:4);
colorbar;

enter image description here

2 个答案:

答案 0 :(得分:1)

如果您希望减少轮廓图和颜色条中的颜色数量,则可以使用缩小颜色集设置新的颜色图。

%Get 10 colors from jet
numColors = 10;
colormap(jet(numColors))  
data = peaks;
contourf(data)
% Optionally you can set yTicks in conjunction with the number of items in your colormap to line up
colorbar('YTick',linspace(min(data(:)),max(data(:)),numColors+1))

enter image description here

编辑: 如果想要更多地控制绘制轮廓线的位置,请使用此形式的函数countourf(data,v),其中v是所需轮廓水平的单调递增矢量。例如:

contourf(data,linspace(-7,8,numColors))
c = colorbar('YTick',linspace(-7,8,numColors+1));

将在-7,-5.33,-3.66 ...处绘制10条轮廓线。将-7和8替换为您想要的任何内容。数据的最小值/最大值或对您的应用程序有意义的任何内容

答案 1 :(得分:0)

您可以使用以下方法调整颜色条属性:

c=colorbar;
c.Ticks=[vector of tick locations]

或者您可以尝试

c.Limits=[min max]

有关颜色条属性的信息,请参阅MATLAB文档:http://www.mathworks.com/help/matlab/ref/colorbar-properties.html?refresh=true

这更详细地解释了颜色条自定义