0

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

这是我的代码

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

在此处输入图像描述

4

2 回答 2

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 ... 8 处绘制 10 条等高线。将 -7 和 8 替换为您希望的任何内容。最小/最大数据或对您的应用程序有意义的任何内容

于 2015-07-14T02:49:00.827 回答
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

这更详细地解释了彩条定制

于 2015-07-14T02:21:56.520 回答