我想更改Matlab生成的默认颜色条(喷射颜色),尤其是颜色的步骤(如下图所示)。怎么做?
这是我的代码
[hC hC] = contourf(interp2(sal,2,'spline'),[0:0.5:5]);
set(hC,'LineStyle','none','YTick',0:4);
colorbar;
答案 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))
编辑:
如果想要更多地控制绘制轮廓线的位置,请使用此形式的函数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
这更详细地解释了颜色条自定义